Как пропустить плохие даты в запросе DBpedia SPARQL?

Мне нужно получить данные о фильмах из 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 есть некоторые ошибки, и движок не может преобразовать строковые данные в тип даты для сравнения с датой, которую я установил. И движок прерывает выполнение запроса.

Итак, вопрос: есть ли способ указать движку пропустить все ошибочные данные и вернуть мне все, что можно обработать?

11
задан Ben Companjen 19 March 2013 в 22:58
поделиться