私は現在、dbpedia または LinkedGeoData からさまざまな情報を取得する方法を見つけるために、数時間試しています。このインターフェース (http://dbpedia.org/snorql) を使用して別のアプローチを試みましたが、必要な結果が得られませんでした。
私がこのようなものを使用する場合:
SELECT * WHERE {
?subject rdf:type <http://dbpedia.org/ontology/City>.
OPTIONAL {
?subject <http://dbpedia.org/ontology/populationTotal> ?populationTotal.
}
OPTIONAL {
?subject <http://dbpedia.org/ontology/populationUrban> ?populationUrban.
}
OPTIONAL {
?subject <http://dbpedia.org/ontology/areaTotal> ?areaTotal.
}
OPTIONAL {
?subject <http://dbpedia.org/ontology/populationUrbanDensity> ?populationUrbanDensity.
}
OPTIONAL {
?subject <http://dbpedia.org/ontology/isPartOf> ?isPartOf.
}
OPTIONAL {
?subject <http://dbpedia.org/ontology/country> ?country.
}
OPTIONAL {
?subject <http://dbpedia.org/ontology/utcOffset> ?utcOffset.
}
OPTIONAL {
?subject <http://dbpedia.org/property/janHighC> ?utcOffset.
}
OPTIONAL {
?subject <http://dbpedia.org/property/janLowC> ?utcOffset.
}
}
LIMIT 20
私は限界を使い果たします。
私もこれを試しました:
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/>
SELECT * WHERE {
?subject rdf:type <http://dbpedia.org/ontology/City>.
?subject rdfs:label ?label.
FILTER ( lang(?label) = 'en'
}
LIMIT 100
しかし、それは私に理解できないエラーを与えます。FILTER を削除すると機能しますが、すべての言語のラベルが表示されます...
私が探しているのは、次のようなものですhttp://dbpedia.org/page/Vancouver ただし、すべてのデータではありませんが、人口、面積、国、標高、緯度、経度、タイムゾーン、label@en などのデータもあります。 abstract@en など
誰かが構文を機能させるのを手伝ってくれますか?
助けてくれてありがとう。
アップデート:
これまでのところ、次のように動作するようになりました。
SELECT DISTINCT *
WHERE {
?city rdf:type dbpedia-owl:Settlement ;
rdfs:label ?label;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:populationTotal ?pop ;
dbpedia-owl:country ?country ;
dbpprop:website ?website .
FILTER ( lang(?abstract) = 'en' && lang(?label) = 'en')
}
LIMIT 20
しかし、すべての入植地を取得したい場合は、まだ制限が不足しています。ところで。すべての都市と集落を 1 つのテーブルに入れる方法はありますか?