次のSPARQLクエリは、英語以外の言語であるため、filter lang 'en'
(クエリのフィルターを参照)に関係なく、必要な結果を取得できません。
クエリの結果:
"Никола́й Ива́нович Буха́рин"@en "Никола́й Буха́рин"@en "Nikolai Bukharin"@en
"Gamal Abdel Nasser Hussein"@en "جمال عبد الناصر"@en "Gamal Abdel Nasser"@en
DBpediaのページを見ると、英語版の名前があることがわかりましたが、フィルターが機能しない理由がわかりません。
誰かがそれを手伝ってくれる?
PREFIX dbo: <http://dbpedia.org/ontology/>
PREFIX dbpedia: <http://dbpedia.org/property/>
SELECT DISTINCT ?person ?birthname ?nameExact ?label
where {
?person rdf:type dbpedia-owl:Person .
?person rdfs:label ?label .
OPTIONAL { ?person dbpedia-owl:birthName ?birthname . }
OPTIONAL { ?person dbpprop:name ?nameExact . }
FILTER (lang(?birthname) = 'en')
FILTER (lang(?label) = 'en')
FILTER (lang(?nameExact) = 'en')
}
LIMIT 300