извлечение данных из википедии о футболистах - PullRequest
0 голосов
/ 05 февраля 2020

Я хочу получить информацию из информационных блоков википедии футболиста со следующими свойствами (имя, команда, номер команды, выступления, цели), используя URI, возвращенные этим запросом викиданных:

SELECT ?SoccerPlayer ?SoccerPlayerLabel ?Team ?TeamLabel ?TeamNumber ?numMatches ?numGoals ?startTime ?article WHERE 
{?SoccerPlayer wdt:P106 wd:Q937857; 
               p:P54 ?stmt . 
               ?stmt ps:P54 ?Team; 
               pq:P1350 ?numMatches; 
               pq:P1351 ?numGoals; 
               pq:P580 ?startTime . 
               optional {?stmt pq:P1618 ?TeamNumber} filter not exists {?SoccerPlayer p:P54/pq:P580 ?startTimeOther filter(?startTimeOther > ?startTime)} 
               FILTER(?startTime >= "2018-01-01T00:00:00Z"^^xsd:dateTime).
               OPTIONAL { ?article schema:about ?SoccerPlayer . 
               ?article schema:isPartOf <https://en.wikipedia.org/> . } 
               SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en".} } limit 200

1 Ответ

1 голос
/ 05 февраля 2020

Информационные блоки Википедии - это простой текст, который нельзя запрашивать.

Вместо этого используйте DBpedia или Викиданные . DBpedia, вероятно, является более полным, чем Wikidata, если речь идет о данных, хранящихся в информационных блоках Engli sh Wikipedia, но не может предоставить вам много информации помимо этого. Напротив, Wikidata агрегирует данные из различных источников и может предоставить информацию о сущностях, у которых нет статьи в Википедии.

...