[英]ParserConfig error in Sesame 2.7 when trying to upload RDF files from DBpedia
我正在嘗試將來自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?
謝謝!
嘗試升級到Sesame 2.7.1。 它剛剛發布, 內置支持DBPedia數據類型 。
或者如果你堅持使用2.7.0,你應該能夠做到這一點:
con.getParserConfig().setNonFatalErrors(new HashSet<RioSetting<?>
(Arrays.asList(BasicParserSettings.VERIFY_DATATYPE_VALUES,
BasicParserSettings.FAIL_ON_UNKNOWN_DATATYPES)));
您可能仍會看到有關未知數據類型的消息,但它將是一個非致命警告而不是錯誤。
資源:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.