Java 使用Jena编写JSON-LD

Java 使用Jena编写JSON-LD,java,jena,json-ld,Java,Jena,Json Ld,我以前使用过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.NoWriterFo

我以前使用过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相同的编写器初始化?我注意到JSONLDJava0.5是JenaARQ的依赖项,而不是JenaCore。我没有使用arq,所以我将jsonld java添加到我的项目依赖项中。

使用jena arq。最新的解析器还包括ARQ中存在的数据集(出于遗留原因)等功能


(你如何在没有jena arq的情况下为2.11.0工作,我感到非常惊讶。)

谢谢!我甚至最终让它与Jena 2.12.1和jsonld java Jena 4.1一起使用。但是,包括jena arq的will model.write(os,“JSON-LD”);无需进一步初始化即可工作?1/试试看!2/是的。初始化是自动的(将其移动到Jena本身的一个很好的理由)