Następujące zapytanie SPARQL nie daje wyników, które chcę, ponieważ są w innych językach niż angielski, niezależnie od filter lang 'en'
(patrz filtry w zapytaniu).Filtr SPARQL lang 'en' podaje inne języki
Wyniki zapytania:
"Никола́й Ива́нович Буха́рин"@en "Никола́й Буха́рин"@en "Nikolai Bukharin"@en
"Gamal Abdel Nasser Hussein"@en "جمال عبد الناصر"@en "Gamal Abdel Nasser"@en
Spojrzałem na stronie dbpedia i widziałem, że jest angielska wersja nazwy, ale nie rozumiem, dlaczego filtr nie działa !! !
Czy ktoś może mi w tym pomóc?
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
Dzięki bardzo! – Funmatica
@Funmatica Jeśli ta odpowiedź zadziałała, powinieneś ją [zaakceptować] (http://meta.stackexchange.com/q/5234/225437). –