Мне нужно получить данные о фильмах из DBpedia.
Я использую запрос SPARQL следующим образом на http://dbpedia-live.openlinksw.com/sparql :
PREFIX rdfs:
PREFIX rdf:
PREFIX foaf:
SELECT ?subject ?label ?released WHERE {
?subject rdf:type .
?subject rdfs:label ?label.
?subject ?released.
FILTER(xsd:date(?released) >= "2000-01-01"^^xsd:date).
} ORDER BY ?released
LIMIT 20
Я пытался получить фильмы, выпущенные после 01.01.2000. {{1} } Но движок отвечает следующим образом:
Virtuoso 22007 Error DT006: Cannot convert 2009-06-31 to datetime :
Too many days (31, the month has only 30)
SPARQL query:
define sql:big-data-const 0
#output-format:text/html
define sql:signal-void-variables 1 define input:default-graph-uri PREFIX rdfs:
PREFIX rdf:
PREFIX foaf:
SELECT ?subject ?label ?released WHERE {
?subject rdf:type .
?subject rdfs:label ?label.
?subject ?released.
FILTER(xsd:date(?released) >= "2000-01-01"^^xsd:date).
} ORDER BY ?released
LIMIT 20
Насколько я понимаю, в DBpedia есть некоторые ошибки, и движок не может преобразовать строковые данные в тип даты для сравнения с датой, которую я установил. И движок прерывает выполнение запроса.
Итак, вопрос: есть ли способ указать движку пропустить все ошибочные данные и вернуть мне все, что можно обработать?