有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我正在尝试将jena数据集写入OutputStream。我希望它被序列化为RDF/XML

使用jena的RDFDataMgr。写入方法,但它引发异常:

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) 个答案

  1. # 1 楼答案

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

    或者

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

    • 使用可以写入RDFFormat.TRIGRDFFormat.NQUADS等数据集的格式

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