Я использую OpenRdf с SPARQL для сбора данных от DBpedia, но я сталкиваюсь некоторые ошибки в следующем запросе побежал против DBpedia SPARQL конечной точки:OpenRdf Исключения при анализе данных из DBpedia
CONSTRUCT{
?battle ?relation ?data .
}
WHERE{
?battle rdf:type yago:Battle100953559 ;
?relation ?data .
FILTER(?relation != owl:sameAs)
}
LIMIT 1
OFFSET 18177
Я изменил LIMIT и OFFSET указать конкретный результат, который провоцирует проблему.
Отклик это одна:
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ns1: <http://en.wikipedia.org/wiki/> .
<http://dbpedia.org/resource/Mongol%E2%80%93Jin_Dynasty_War> foaf:isPrimaryTopicOf ns1:Mongol–Jin_Dynasty_War .
Проблема заключается в том, что ns1: монголо-Jin_Dynasty_War сущность содержит знак минус, поэтому я получаю следующее исключение при выполнении этого запроса внутри приложения Java используя OpenRdf:
org.openrdf.query.QueryEvaluationException: org.openrdf.rio.RDFParseException: '' Ожидаемо, нашел '-' [строка 3]
Есть ли способ обойти эту проблему?
Спасибо!
Это не минус, это черта ('U + 2013'), которая является незаконным символом в этом положении, поэтому это, по-видимому, является ошибкой в записи DBPedia Turtle. Лучше всего, если вы хотите получить выход в другом формате, таком как NTriples. Я не знаком с API OpenRDF, поэтому я не уверен, какие у вас варианты. – Alex
@Alex Спасибо за подсказку, я смог установить выход на NTriples, который полностью решил проблему. – mbernardeau