我以前使用过Jena 2.11.0和jsonld-java将Jena模型序列化为JSON-LD。在这种情况下,我需要打电话

JenaJSONLD.init();


为了使用

OutputStream os = new ByteArrayOutputStream();
model.write(os, "JSON-LD");


一切都很好。现在,我已经更新到Jena 2.12.1,据说它具有本机JSON-LD支持。但是,上面的代码会导致

com.hp.hpl.jena.shared.NoWriterForLangException:JSON-LD

我需要在Jena 2.12中做什么才能获得与2.11和jsonld-java相同的编写器初始化?我注意到jsonld-java 0.5是jena-arq的依赖项,而不是jena-core。我没有使用arq,所以已将jsonld-java添加到我的项目依赖项中。

最佳答案

使用jena-arq。最新的解析器还涵盖了ARQ中存在的功能(如数据集)(由于遗留原因)。

(在classpath中没有jena-arq的情况下,如何使2.11.0正常工作对我来说是一个惊喜。)

关于java - 使用Jena编写JSON-LD,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27821160/

10-11 09:31