使用 Jena 编写 JSON-LD

Use Jena to write 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.NoWriterForLangException: JSON-LD

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

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

(在类路径中没有 jena-arq 的情况下,你是如何让 2.11.0 工作的,这让我很惊讶。)