我正在尝试将耶拿数据集写入OutputStream。我希望将其序列化为RDF / XML。

使用耶拿的RDFDataMgr.write方法,但会引发异常:

Dataset ds=RDFDataMgr.loadDataset("newFile.jsonld") ;
RDFDataMgr.write(System.out, ds, RDFFormat.RDFXML) ;


org.apache.jena.riot.RiotException: No dataset writer for RDF/XML/pretty
    at org.apache.jena.riot.RDFDataMgr.createDatasetWriter$(RDFDataMgr.java:1312)
    at org.apache.jena.riot.RDFDataMgr.write$(RDFDataMgr.java:1330)
    at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:1205)
    at org.apache.jena.riot.RDFDataMgr.write(RDFDataMgr.java:1151)
    at com.ontologycentral.ldspider.http.LookupThread.run(LookupThread.java:166)


谁能给它一些启示?

最佳答案

通常,您不能使用RDF / XML编写数据集:RDF / XML可以编写图形,而不能编写包含许多图形的数据集。

要么


限制自己编写单个图形,例如RDFDataMgr.write(System.out, ds.getDefaultModel(), RDFFormat.RDFXML) ;ds.getNamedModel(...model name...)


要么


使用可以写入数据集的格式,例如RDFFormat.TRIGRDFFormat.NQUADS


前者将为您提供RDF / XML,但可能会丢失信息。后者将保留原始数据。

关于java - Riotexception:没有RDF/XML/pretty的数据集编写器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29540624/

10-10 20:32