我正在使用 Jena,我想将新的本体更新到我的 tdb 中。例如。我的本体中有 100 行,在我添加一些规则并运行推理器后,现在有 105 行。而且我需要在我的 tdb 中更新这 5 个额外的行。我怎样才能做到这一点?
我尝试用谷歌搜索它,我发现了两种方法。一个是使用 sparql 来更新,另一个是截断 tdb 并将新模型添加到其中。
还有其他更好的解决方案吗?
谢谢
--
代码
void after_reasoner(Model m) {
String yago = "http://yago-knowledge.org/resource/";
Reasoner reasoner = new GenericRuleReasoner(
Rule.rulesFromURL("file:./rules/act.rule"));
InfModel inf1 = ModelFactory.createInfModel(reasoner, m);
PrintUtil.registerPrefix("yago", "http://yago-knowledge.org/resource/");
}
再说一次,我的问题是如何处理我的 tdb 的新“infmodel”。我只想更新新的事实。
这是我从 tdb 获取模型的方法。
Model tdb_write_return() {
String directory = "./tdb";
Dataset dataset = TDBFactory.createDataset(directory);
dataset.begin(ReadWrite.WRITE);
String ns = "http://www.darrell.com.tw/ontologies/";
Model model = dataset.getNamedModel(ns);
dataset.commit();
dataset.end();
dataset.close();
return model;
}