Я новичок в SPARQL и пытаюсь сделать следующее для своего задания:
Мне нужно вытащить актеров, но только тех, кто родился в определенный день. Моя проблема в том, что каждый раз, когда я пытаюсь отфильтровать по определенному целочисленному значению, я получаю «Ошибка при выполнении запроса, см. подробности в причине» (кстати, я понятия не имею, что такое «причина» в этом вопросе, нет журнала ошибок , или что-нибудь кликабельное, чтобы я действительно мог проверить, что пошло не так).
Вот мой запрос:
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX movie: <http://data.linkedmdb.org/resource/movie/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX db: <http://dbpedia.org/ontology/>
PREFIX dbpprop: <http://dbpedia.org/property/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?actor ?dbpediaLink ?name ?date month(?date) WHERE {
?actor a movie:actor .
?actor owl:sameAs ?dbpediaLink .
SERVICE <http://dbpedia.org/sparql> {
?dbpediaLink dbpprop:name ?name .
?dbpediaLink dbpprop:dateOfBirth ?date
}
FILTER(month(?date) = 2)
}
LIMIT 10
Итак, я пытаюсь сделать так, чтобы все актеры родились в феврале, и при этом я получаю упомянутую выше ошибку.
Следующие комбинации FILTER
возвращают указанную ошибку:
FILTER(month(?date) = 2)
FILTER(month(?date) > 1 && month(?date) < 3)
FILTER(month(?date) >= 2 && month(?date) <=2)
В основном все варианты возврата только людей, родившихся в феврале, возвращают ошибку. Я даже пытался явно указать целые числа как "2"^^xsd:integer
(поскольку функция month()
возвращает целое число), и это все равно не удалось.
Я также пытался (из-за какой-то другой проблемы) найти актеров, у которых в имени ровно 10 букв, но я также столкнулся с той же проблемой.
Кажется, что любой FILTER
, который я пытаюсь сделать, который использует =
или пытается FILTER
с несколькими условиями (используя &&
), терпит неудачу.
Я застрял на этом последние 2 дня... Я что-то пропустил?
Вероятно, я должен упомянуть, что я использую локально развернутый сервер Fuseki с дампом LMDB и запускаю запросы по адресу http://localhost:3030