使用 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 工作的,这让我很惊讶。)
我以前使用 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 工作的,这让我很惊讶。)