通常、これらのクエリのいくつかを反復的に記述し、データを調べていくのが最も簡単です。たとえば、この場合、次のように開始できます。
select ?place where {
?place a dbpedia-owl:PopulatedPlace
}
limit 100
SPARQL の結果
これは米国内の場所だけではありませんが、該当する場所が見つかるまで検索結果を閲覧できます。次に、それを調べて、そのような場所を特定する方法を確認できます。この場合、Furnace, West Virginiaが見つかり、プロパティdbpedia-owl:countryの値dbpedia:United_Statesであることに注意してください。したがって、クエリを絞り込むことができます。
select ?place where {
?place a dbpedia-owl:PopulatedPlace ;
dbpedia-owl:country dbpedia:United_States
}
limit 100
SPARQL の結果
それははるかに良く見えますが、場所を識別する実際の IRI ではなく、場所の名前が必要だと言いました。フィルターに基づくと、英語の名前だけが必要なようです。次に、さらに絞り込みます。
select ?label where {
?place a dbpedia-owl:PopulatedPlace ;
dbpedia-owl:country dbpedia:United_States ;
rdfs:label ?label
filter langMatches( lang(?label), 'en' )
}
limit 100
SPARQL の結果
これらの名前は、言語タグ付きリテラルです。文字列部分のみが必要な場合は、変数射影でそれを行うことができます。
select (str(?label) as ?strLabel) where {
?place a dbpedia-owl:PopulatedPlace ;
dbpedia-owl:country dbpedia:United_States ;
rdfs:label ?label
filter langMatches( lang(?label), 'en' )
}
limit 100
SPARQL の結果