Как я могу преобразовать запрос Freebase в запрос Викиданных?

Используя этот запрос Freebase в качестве примера, как я могу выполнить тот же запрос, используя API Викиданных?

[{
  "id": null,
  "name": null,
  "type": "/film/film",
  "/film/film/directed_by": "Steven Spielberg",
  "/film/film/genre": "Drama",
  "/film/film/story_by": [],
  "starring": [{
    "actor": [{
      "name": "Tom Hanks",
      "key": [{
        "namespace": "/authority/imdb/name",
        "value": null
      }]
    }]
  }],
  "/film/film/initial_release_date>": "2000",
  "/film/film/initial_release_date<": "2003"
}]

Спасибо.


person miguel    schedule 31.01.2015    source источник
comment
Вы проверяли wikidata.org/wiki/Wikidata:Data_access?   -  person Nemo    schedule 25.07.2015


Ответы (2)


Вы не можете сделать это с помощью Wikidata API, но вы можете сделать это с помощью службы запросов к Викиданным. Вот пример запроса:

PREFIX wd: <http://www.wikidata.org/entity/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
SELECT ?film ?filmLabel ?date WHERE {
# Is a film  
  ?film wdt:P31 wd:Q11424 .
# Director is Steven Spielberg
  ?film wdt:P57 wd:Q8877 .
# genre is drama film  
#  ?film wdt:P136 wd:Q130232 .
#  Starring Tom Hanks
  ?film wdt:P161 wd:Q2263 .
  SERVICE wikibase:label {
    bd:serviceParam wikibase:language "en" .
  }
# published on date
  ?film wdt:P577 ?date .
  FILTER(year(?date)>2000 && year(?date)<2003)
} 

Вы можете попробовать это здесь. Обратите внимание, что я закомментировал проверку жанра. Это связано с тем, что в Викиданных нет фильмов с вашими критериями и жанром "драма", но есть один фильм, который опубликован в указанную дату и снят Спилбергом, и включает в себя Тома Хэнкса:

wd:Q208108* Catch Me If You Can 2002-01-01T00:00:00Z

Дополнительные ссылки на документацию можно найти на домашней странице службы и руководство пользователя, а также страницы сообщества службы запросов.

person StasM    schedule 22.10.2015

Насколько мне известно, создать такой подробный запрос к Wikipedia-API невозможно. Но вы можете искать страницы Википедии по заголовку, содержанию, идентификатору, категории, времени создания и многим другим критериям.

Основные примеры см. В обзоре MediaWiki API:

https://www.mediawiki.org/wiki/API:Main_page

Также см. Полную документацию по MediaWiki API:

https://www.mediawiki.org/w/api.php

Кроме того, вы можете получить основную информацию о фильмах из информационного окна статьи (см. это и это вопросы и ответы).

person Damjan Pavlica    schedule 18.10.2015