-1

特別な経度と緯度からすべての POI を取得しようとしています。

より良い結果を得るためのヒントを教えてもらえますか? 結果セットに:Germanyやのような件名が表示されるようになりました。:M-Bahn

ここに私のJavaコードがあります:

public class DBPedia_SparqSql {

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    float YOUR_LONG = 13.380834f;
    float YOUR_LAT = 52.516388f;
    float radius = 0.01f;
    String sparqlQueryString1= "PREFIX owl: <http://www.w3.org/2002/07/owl#> "+
    "PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> "+
    "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "+
    "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> "+
    "PREFIX foaf: <http://xmlns.com/foaf/0.1/> "+
    "PREFIX dc: <http://purl.org/dc/elements/1.1/> "+
    "PREFIX : <http://dbpedia.org/resource/> "+
    "PREFIX dbpedia2: <http://dbpedia.org/property/> "+
    "PREFIX dbpedia: <http://dbpedia.org/> "+
    "PREFIX skos: <http://www.w3.org/2004/02/skos/core#> "+
    "PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> "+
    "PREFIX onto: <http://dbpedia.org/ontology/> " +
    "PREFIX dcterms: <http://purl.org/dc/terms/> "+
    "SELECT DISTINCT ?s ?sub ?long ?lat WHERE {"+
    "?s a onto:Place . "+
    "?s geo:lat ?lat . "+
    "?s geo:long ?long . " +
    "?s dcterms:subject ?sub "+
    " FILTER ( ?long > "+(YOUR_LONG-radius)+"&& ?long < "+(YOUR_LONG+radius)+" && ?lat > "+(YOUR_LAT-radius)+" && ?lat < "+(YOUR_LAT+radius)+")}"+
    "LIMIT 200";
    System.out.println(sparqlQueryString1);

    Query query = QueryFactory.create(sparqlQueryString1);
    QueryExecution qexec = QueryExecutionFactory.sparqlService("http://dbpedia.org/sparql", query);

    ResultSet results = qexec.execSelect();
    ResultSetFormatter.out(System.out, results, query);       

    qexec.close() ;
  }

}
4

1 に答える 1

1

「より良い」とはどういう意味かによって少し異なります。あなたが探しているのは、識別機能です。「良い」結果にはあり、「悪い」結果にはありません (またはその逆)。

クエリを実行するプロパティを見つける良い方法は、特定のテーマの DBPedia リソース ページにアクセスして、そこに何があるかを確認することです。ドイツのページには、DBPedia がそのトピックについて知っているすべての情報が表示されます。ドイツが国であること、人口規模などです。

見て良いプロパティはrdf:typeプロパティです。返してほしい結果がその価値を共有しているかどうかを確認し、それをクエリに追加します。ただし、他の (組み合わせた) プロパティも使用できます。これらのプロパティや値がどうあるべきかはわかりませんが、自分のユースケースを知っているのはあなただけです。

于 2012-06-17T20:18:18.447 に答える