簡體   English   中英

嘗試從DBpedia上傳RDF文件時,Sesame 2.7中出現ParserConfig錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM