【发布时间】:2018-08-01 08:24:54
【问题描述】:
我目前正在从事一个项目,其中有一个初始 .owl 文件,其中包含我们本体的基本架构。我们使用 Jena API 加载此文件并对其执行不同的操作,例如添加本体类和个体。
我们试图将系统迁移到三重存储,这意味着我们希望加载初始的.owl 文件一次,然后在服务器上执行进一步的操作,而不是一直读取和写入.owl 文件。
我没有完全掌握 Jena 文档中解释的概念,因为它们似乎在各个方向上都存在分歧;然而,我的理解是,我们必须为此使用 Fuseki Embedded 和 Jena TDB。我尝试了以下代码(本例中的OntModel 参数包含我们本体的架构):
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>。请提供一些使用示例。
【问题讨论】:
标签: java jena fuseki triplestore tdb