DBpedia SPARQL-Abfrage gibt mehrere und doppelte Datensätze zurück
Ich bin ein Neuling in SPARQL und auch verwirrt von den vielfältigen Syntaxstandards, die es gibt. Ich habe Probleme, eindeutige Daten mit der folgenden Abfrage aus DBpedia abzurufen:
SELECT DISTINCT ?Museum, ?name, ?abstract, ?thumbnail, ?latitude,
?longitude, ?photoCollection, ?website, ?homepage, ?wikilink
WHERE {
?Museum a dbpedia-owl:Museum ;
dbpprop:name ?name ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:thumbnail ?thumbnail ;
geo:lat ?latitude ;
geo:long ?longitude ;
dbpprop:hasPhotoCollection ?photoCollection ;
dbpprop:website ?website ;
foaf:homepage ?homepage ;
foaf:isPrimaryTopicOf ?wikilink .
FILTER(langMatches(lang(?abstract),"EN"))
FILTER (langMatches(lang(?name),"EN"))
}
LIMIT 20
Wie jeder sehen kann, sind die Einträge fürGeffrye_Museum
undInstitute_for_Museum_Research
werden in Ergebnissen wiederholt, weilInstitute_for_Museum_Research
hat zwei verschiedene Werte für den Namen undGeffrye_Museum
hat zwei Längengrade. In beiden Fällen möchte ich, dass die zweiten Werte verworfen werden. d.h.Geffrye_Museum
der Längengradwert-0.0762194
muss ignoriert werden, und fürInstitute_for_Museum_Research
der Name Wert"Institut für Museumsforschung"@en
muss ignoriert werden.
Beachten Sie, dass ich bereits Filter für die gewünschten Felder anwende und dies einfach eine Fülle von Daten in DBpedia ist, die ich auf Abfrageebene selbst behandeln möchte. Wie kann ich also festlegen, dass DBpedia nur den ersten Wert zurückgibt, wenn für dieselbe Spalte mehrere Werte vorhanden sind?