Problem mit einer ausgewählten SPARQL-Abfrage auf dbpedia
-
13-09-2019 - |
Frage
Ich versuche, einige Daten über eine Stadt mit SPARQL-Abfrage auf DBpedia zu erhalten. Das Problem ist, ich nicht die Abfrage bekommen zu arbeiten.
Zur Zeit ich etwas tun, wie folgt aus:
SELECT ?title,?name,?abs WHERE {
?title skos:subject
<http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia>.
?title dbpprop:officialName ?name.
?title dbpprop:abstract ?abs
}
ich alle Städte, Dörfer aus Slowenien mit allen Daten. Das Problem ist, würde ich die Daten bekommen (officialName und / oder abstrakt) nur für eine Stadt, zum Beispiel Ljubljana. Also habe ich versucht, einige Dinge wie folgt:
SELECT ?name WHERE {
?name dbpprop:officialName
<http://dbpedia.org/resource/Ljubljana>.
}
Natürlich funktioniert es nicht. Ich weiß nicht genau warum, aber :), aber ich habe ein wenig experimentiert und bemerkte einige Dinge, wie wenn ich put
?name skos:subject <http://dbpedia.org/resource/Category:Ljubljana>.
ich einige Ergebnisse (die mir nicht relevant sind, aber trotzdem), aber wenn ich put
?name skos:subject <http://dbpedia.org/resource/Ljubljana>.
gibt es keine Ergebnisse für alles, obwohl Element skos: Thema existiert auf der Seite http://dbpedia.org/ Ressourcen- / Ljubljana .
Könnte jemand bitte erklären, warum das zweite Beispiel nicht funktioniert und wie das Ergebnis erhalten ich haben möchte?
Danke, Ablak
Danke
Lösung
Sie möchten <http://dbpedia.org/resource/Ljubljana>
als Subjekt abzufragen, nicht ein Objekt;
?title
Bindung in der SPARQL-Abfrage, zum Beispiel ersetzen
SELECT ?name, ?abs WHERE {
<http://dbpedia.org/resource/Ljubljana>
skos:subject <http://dbpedia.org/resource/Category:Cities%2C_towns_and_villages_in_Slovenia> ;
dbpprop:officialName ?name ;
dbpprop:abstract ?abs .
}
Aus diesem Grund ist Ihr Diagramm Match ?name skos:subject <http://dbpedia.org/resource/Ljubljana>
die erwarteten Ergebnisse nicht zurück; die URI für Ljubljana sollte der Gegenstand der Aussage sein (e) Sie passen wollen.