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)?