如何使用 Jena API、Fuseki 和 TDB 基于现有 OWL 文件创建 Jena Triple Store?
How to create a Jena Triple Store based on an existing OWL file using Jena API, Fuseki and TDB?
我目前正在开展一个项目,其中有一个初始 .owl
文件,其中包含我们 ontology 的基本模式。我们使用 Jena API 加载此文件并对它执行不同的操作,例如添加 ontology 类 和个人。
我们寻求将系统迁移到三重存储,这意味着我们希望加载初始 .owl
文件一次,然后执行进一步操作,而不是一直读写 .owl
文件服务器上的操作。
我没有完全理解 Jena 文档中解释的概念,因为它们似乎在各个方向都有分歧;然而,据我所知,我们必须为此使用 Fuseki embedded 和 Jena TDB。我尝试了以下代码(本例中的 OntModel
参数包含我们 ontology 的模式):
public Store(OntModel model) {
Dataset ds = DatasetFactory.assemble(model);
File dsDir = new File(ClassLoader.getSystemClassLoader().getResource("ds/")
.getFile());
ds.begin(ReadWrite.WRITE);
server = FusekiServer.create().add(dsDir.getAbsolutePath(), ds).build();
}
这给了我以下错误:org.apache.jena.sparql.ARQException: No root found for type <http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset>
。请提供一些使用示例。
DatasetFactory.assemble
表示根据描述构建新模型,该描述也保存在 RDF 中(这些在 Jena 中称为汇编程序)。
如果您需要 Fuseki 服务器,请启动一个并使用 UI 创建数据集并加载文件。
或
加载数据:
使用命令行 tdbloader
创建 TDB 数据集并将其加载到目录 "DIRECTORY_NAME" 中。这只需要做一次。
每次到运行服务器:
Dataset ds = TDBFactory.createDataset("DIRECTORY_NAME");
FusekiServer server = FusekiServer.create().add("/myName", ds).build();
server.start();
数据集 HTTP SPARQL 接口(编程)可在 http://localhost:3030/myName。
如果您想要查询 UI,请使用完整的 Fuseki 服务器。
我目前正在开展一个项目,其中有一个初始 .owl
文件,其中包含我们 ontology 的基本模式。我们使用 Jena API 加载此文件并对它执行不同的操作,例如添加 ontology 类 和个人。
我们寻求将系统迁移到三重存储,这意味着我们希望加载初始 .owl
文件一次,然后执行进一步操作,而不是一直读写 .owl
文件服务器上的操作。
我没有完全理解 Jena 文档中解释的概念,因为它们似乎在各个方向都有分歧;然而,据我所知,我们必须为此使用 Fuseki embedded 和 Jena TDB。我尝试了以下代码(本例中的 OntModel
参数包含我们 ontology 的模式):
public Store(OntModel model) {
Dataset ds = DatasetFactory.assemble(model);
File dsDir = new File(ClassLoader.getSystemClassLoader().getResource("ds/")
.getFile());
ds.begin(ReadWrite.WRITE);
server = FusekiServer.create().add(dsDir.getAbsolutePath(), ds).build();
}
这给了我以下错误:org.apache.jena.sparql.ARQException: No root found for type <http://jena.hpl.hp.com/2005/11/Assembler#RDFDataset>
。请提供一些使用示例。
DatasetFactory.assemble
表示根据描述构建新模型,该描述也保存在 RDF 中(这些在 Jena 中称为汇编程序)。
如果您需要 Fuseki 服务器,请启动一个并使用 UI 创建数据集并加载文件。
或
加载数据:
使用命令行 tdbloader
创建 TDB 数据集并将其加载到目录 "DIRECTORY_NAME" 中。这只需要做一次。
每次到运行服务器:
Dataset ds = TDBFactory.createDataset("DIRECTORY_NAME");
FusekiServer server = FusekiServer.create().add("/myName", ds).build();
server.start();
数据集 HTTP SPARQL 接口(编程)可在 http://localhost:3030/myName。
如果您想要查询 UI,请使用完整的 Fuseki 服务器。