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

Posted

技术标签:

【中文标题】Riotexception:没有用于 RDF/XML/pretty 的数据集编写器【英文标题】:Riotexception: No dataset writer for RDF/XML/pretty 【发布时间】:2015-04-09 13:58:32 【问题描述】:

我正在尝试将 jena 数据集写入 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】:

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

要么

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

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

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

【讨论】:

以上是关于Riotexception:没有用于 RDF/XML/pretty 的数据集编写器的主要内容,如果未能解决你的问题,请参考以下文章

没有可用于编码 1252 的数据 - Xamarin

有没有办法连接两个开放的CMD窗口;一个用于输入命令,另一个用于显示相应的输出?

NoNodeAvailableException:没有节点可用于执行查询

为啥没有用于@angular/core 模块导入的相对路径

错误 ejb:“没有可用于处理的 EJB 接收器”

@StateObject 用于没有上下文的 NSManagedObject 不发布更改