Jestem nowym użytkownikiem SPARQL i próbuję uruchomić zapytanie SPARQL, aby zwrócić wyniki dla właściwości i wyświetlić dla niej wartość powiązanej właściwości. KodSPARQL - zapytanie o właściwość i zwrócenie wyników dla powiązanej właściwości
przykładem jest:
SELECT ?player ?position ?club ?goals WHERE {
?player a <http://dbpedia.org/ontology/SoccerManager> . filter (contains (str(?player), "Alan_Shearer")) .
?player <http://dbpedia.org/ontology/position> ?position .
?player <http://dbpedia.org/property/clubs> ?club .
?player <http://dbpedia.org/property/goals> ?goals .
}
W rezultacie są wszystkie cele replikowane na każdym klubie:
player position club goals
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Southampton_F.C. 23
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Southampton_F.C. 112
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Southampton_F.C. 148
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Newcastle_United_F.C. 23
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Newcastle_United_F.C. 112
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Newcastle_United_F.C. 148
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Blackburn_Rovers_F.C. 23
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Blackburn_Rovers_F.C. 112
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Blackburn_Rovers_F.C. 148
Cele na klub związany jest prawidłowo w zbiorze danych, a więc to, co chcę do uzyskania są tylko cele dla danego klubu:
player position club goals
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Southampton_F.C. 23
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Newcastle_United_F.C. 112
http://dbpedia.org/resource/Alan_Shearer http://dbpedia.org/resource/Forward_(association_football) http://dbpedia.org/resource/Blackburn_Rovers_F.C. 148
Jednak nie mówię jak to zrobić w SPARQL, każda pomoc jest bardzo doceniana.
Patrząc na [dane] (http://dbpedia.org/page/Alan_Shearer), cele nie wydają się być związane z klubami niezależnie od ich kolejności pojawiania się. O ile mogę powiedzieć, nie ma wyraźnych instrukcji RDF wiążących jeden z drugim. Dostęp do wartości według indeksu jest dość trudny w RDF. – toniedzwiedz
Dzięki za odpowiedź, patrząc na inne dane, kolejność pojawiania się nie zawsze koreluje - ale oczywiście dane zawsze pojawiają się poprawnie w Wikipedii. Mój oryginalny pomysł polegał na uzyskaniu konkretnych informacji z infoboxu Wiki, unikając parsowania całego infoboxu. – AndW99