Riotexception:没有RDF / XML / pretty的数据集编写器

时间:2015-04-09 13:58:33

标签: java xml exception bigdata jena

我试图将jena Dataset写入OutputStream。我希望它被序列化为RDF / XML。

使用jena的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)

任何人都可以对它有所启发吗?

1 个答案:

答案 0 :(得分:2)

一般情况下,您无法使用RDF / XML编写数据集:RDF / XML可以编写图形,而不是包含许多图形的数据集。

无论

  • 仅限于编写单个图表,例如RDFDataMgr.write(System.out, ds.getDefaultModel(), RDFFormat.RDFXML) ;ds.getNamedModel(...model name...)

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

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