SPARQL-запрос для связанных данных

Я хочу получить подробную информацию о фильмах из LinkedMDB вместе с соответствующими ссылками для наборов данных DBPedia. Я пишу следующий запрос:

SELECT ?film ?label ?dbpediaLink WHERE {
  ?film rdf:type movie:film .
  ?film rdfs:label ?label . 
  ?film owl:sameAs ?dbpediaLink
  FILTER(regex(str(?dbpediaLink), "dbpedia", "i"))
}
LIMIT 1000

Этот запрос возвращает URI фильма в LinkedMDB, имени фильма и URI DBPedia. Я хочу получить больше информации о каждом фильме, чтобы иметь больше возможностей для классификации.

1 ответ

Я не уверен, что понял вашу проблему, но я сделаю попытку: вы нашли некоторые свойства о фильмах на IMDB (заголовок и DBpedia URI), и вы хотели бы узнать, какие другие свойства могут предложить данные.

В этой ситуации я бы выполнил запрос DESCRIBE, чтобы вернуть все тройки, в которых предметом является случайный фильм.

DESCRIBE ?film WHERE {
?film a movie:film .
}
limit 1

Объяснение:

  • Запросы DESCRIBE возвращают все тройки, для которых URI, возвращаемые предложением WHERE, являются субъектами (некоторые конечные точки также настроены так, чтобы возвращать тройки, в которых эти URI являются объектами). Это вернуло бы тройки с rdfs:label, owl:sameAs... и другие свойства (если есть)!
  • Предложение WHERE указывает, какие ?film мы хотим описать
  • Предел гарантирует, что вы не описываете ВСЕ movie:film в данных

PS: я не знаком с данными IMDB, но не так ли movie:Film (заглавная F)?

Другие вопросы по тегам