sparql dbpedia.org единственный гол в Фиорентине

Есть ли способ получить только те голы, которые футболисты забили в Фиорентине с конечной точкой 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

person Marco Scarselli    schedule 12.04.2016    source источник
comment
Вы пытаетесь сложить все голы каждого игрока? Данные моделируются литералом goal, поэтому невозможно определить, в каком году были забиты голы.   -  person scotthenninger    schedule 12.04.2016
comment
@scotthenninger Игроки также связаны с рядом объектов карьерных станций, которые соответствуют периодам времени, командам и целям, поэтому я думаю, что эта информация доступна. Я добавил ответ.   -  person Joshua Taylor    schedule 12.04.2016


Ответы (1)


Я думаю, вы можете это сделать. Если вы просмотрите данные по Silva, вы увидите несколько карьерных станций, например, станция 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 .
}

результаты SPARQL

Конечно, у игрока может быть несколько станций в одной команде, поэтому вам все равно нужно агрегировать по каждому игроку и суммировать цели:

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

Результаты SPARQL

Связанный

Есть и другие вопросы, связанные с опросом карьерных станций, которые могут быть полезны:

person Joshua Taylor    schedule 12.04.2016