SPARQL-запрос с классификаторами - PullRequest
0 голосов
/ 18 декабря 2018

У меня проблема с квалификаторами в SPARQL.

У меня есть этот запрос:

SELECT ?title ?item ?date ?place WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  ?item wdt:P161 wd:Q38111.
  ?item wdt:P1476 ?title.
  ?item wdt:P577 ?date.
  # how add ?place, aka place of publication in P577 of current movie
}

Этот запрос показывает мне фильмы, в которых включен Леонардо ди Каприо в качестве актера.Я хочу добавить еще один столбец с именем «место», что означает «место публикации».Это место публикации является классификатором свойства P577 (дата публикации фильма).

Дайте кому-нибудь понять, как это сделать.Спасибо за любые советы.

1 Ответ

0 голосов
/ 18 декабря 2018

Применение комментария @ AKSW к запросу - довольно тривиальное упражнение.Вы пытались сделать это самостоятельно?

SELECT ?title ?item ?date ?place WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  ?item wdt:P161 wd:Q38111.
  ?item wdt:P1476 ?title.
#  ?item wdt:P577 ?date.
  # how add ?place, aka place of publication in P577 of current movie
  ?item p:P577 ?statement. 
  ?statement ps:P577 ?date. 
  ?statement pq:P291 ?place
}

И чтобы получить название для каждого ?place -

SELECT ?title ?item ?date ?place ?placeLabel WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
  ?item wdt:P161 wd:Q38111.
  ?item wdt:P1476 ?title.
#  ?item wdt:P577 ?date.
  # how add ?place, aka place of publication in P577 of current movie
  ?item p:P577 ?statement. 
  ?statement ps:P577 ?date. 
  ?statement pq:P291 ?place
}
...