有没有办法只获得足球运动员在佛罗伦萨使用dbpedia.org SPARQL终点得分的目标?我尝试了以下查询,但不幸的是我获得了每个赛季的目标。
select * where {
?player a dbo:SoccerPlayer.
?player dbo:team <http://dbpedia.org/resource/ACF_Fiorentina>.
?player dbp:position <http://dbpedia.org/resource/Forward_(association_football)>.
?player dbp:goals ?goal.
}
limit 10000
答案 0 :(得分:3)
我认为你可以做到这一点。如果您浏览data for Silva,您会看到许多职业电台,例如station 12,每个电台都有多个目标。这意味着你可以这样做:
select * where {
?player a dbo:SoccerPlayer ;
dbp:position <http://dbpedia.org/resource/Forward_(association_football)> ;
dbo:careerStation ?station .
?station dbo:numberOfGoals ?goals ;
dbo:team dbr:ACF_Fiorentina .
}
当然,一个玩家可能在同一个团队中有多个站点,所以你仍然希望聚合每个玩家并总结目标:
select ?player (sum(?goals) as ?totalGoals) where {
?player a dbo:SoccerPlayer ;
dbp:position <http://dbpedia.org/resource/Forward_(association_football)> ;
dbo:careerStation ?station .
?station dbo:numberOfGoals ?goals ;
dbo:team dbr:ACF_Fiorentina .
}
group by ?player
还有一些其他问题涉及查询可能有用的职业站点: