1

私は SPARQL を初めて使用するので、学習の助けが必要です。私の国のブラジルのいくつかの場所 (近隣、都市、州、地域、川、モニュメントなど) の緯度と経度を取得したいと考えています。

私は試した:

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT *
WHERE  { 
    ?s a dbo:Place .
    ?s geo:lat ?lat .
    ?s geo:long ?long .
    ?s a ?type .
    ?s a ?city .
    ?s rdfs:label "Rio de Janeiro"@en.
}
limit 10

クエリを「都市」だけに制限したくありません。「街」「川」「村」「山」「モニュメント」「丘」「島」「谷」「点」「峰」など、さまざまな属性で場所を検索したい。 ..さらに、私は国を制限していません...

誰でも私を助けることができますか?

4

1 に答える 1

1

クエリは、 SPARQL を使用して DBpedia から Get Place カテゴリにあるクエリのように見えます。

現状では、クエリは都市に限定されませんdbo:Place。英語の名前 (ラベル) "Rio de Janeiro" を持つ に限定されます。?city変数です。その名前は特別なことは何もしません。

任意の場所が必要な場合は、上記のトリプル パターンを削除するだけです。

PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT *
WHERE  { 
  ?s a dbo:Place .
  ?s geo:lat ?lat .
  ?s geo:long ?long .
  ?s a ?type .
}
limit 10

これにより、緯度と経度と別のクラスで 10 の場所が取得されます。DBpedia を参照して、ある場所の種類を確認し、必要かどうかを判断してdbo:Location_(feature)、 Place のサブクラス、 Location も試してみることができます ( DBpedia に従って、 Place の直接型または間接型を取得します)。国でフィルタリングするには、クエリに追加できます

  ?s dbo:country <http://dbpedia.org/resource/Brazil> .

しかし、すべての場所がこのように国と明確にリンクしているわけではありません。場所をその国に関連付けるのに役立つプロパティを確認する必要があります。

于 2013-03-28T23:12:45.010 に答える