【发布时间】:2013-05-19 03:07:10
【问题描述】:
我正在尝试将一组来自 DBpedia 的 RDF 文件上传到我的 Sesame 存储库。问题是:对于几乎每个 RDF 文件,Sesame 都会给出以下错误:
'whatever_file_is': 'some_value' was not recognised, and could not be verified, with datatype http://dbpedia.org/datatype/rod [line 30121, column 123]
经过一些研究,我发现 DBpedia 没有在 DBpedia Ontology 中发布数据类型,如下所述(摘自http://mappings.dbpedia.org/index.php/Datatype:Rod):
请注意:数据类型(尚未)从 DBpedia Mappings Wiki 复制到 DBpedia 本体。它们在 OntologyDatatypes.scala 中硬编码,并被添加到 wiki 以供参考。在 wiki 中添加数据类型不会更改本体,并且会导致使用此类数据类型的属性出现错误消息。
所以,如果我是正确的,Sesame 在尝试验证这些数据类型时会失败。但我需要上传 RDF 文件。
在使用Java时,我尝试了以下代码让Sesame忽略验证:
RepositoryConnection con = repository.getConnection();
Set<RioSetting<?>> set = new HashSet<>();
set.add( BasicParserSettings.VERIFY_DATATYPE_VALUES );
con.getParserConfig().setNonFatalErrors(set);
但错误继续出现。我还尝试了以下代码:
RepositoryConnection con = repository.getConnection();
con.getParserConfig().addNonFatalError( BasicParserSettings.VERIFY_DATATYPE_VALUES );
但奇怪的是,最后一个给出了java.lang.UnsupportedOperationException:
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractCollection.add(AbstractCollection.java:252)
at org.openrdf.rio.ParserConfig.addNonFatalError(ParserConfig.java:134)
at control.RepositoryControl.loadIntoRepository(RepositoryControl.java:177)
有人知道我应该怎么做才能将来自 DBpedia 的 RDF 文件上传到 Sesame?
谢谢!
【问题讨论】:
标签: java rdf semantic-web dbpedia sesame