【发布时间】:2015-01-02 11:39:22
【问题描述】:
我正在尝试将作为字符串提交的 Jena 规则添加到以下方法。但是没有添加规则,因为我可以验证写入 E://1_1_1 的本体没有新的变化 有人可以帮助我如何做到这一点。 其他可能相关的 SO 问题是26292160、349652;两者都与我的情况相似。
public String ValidateAndConfigureRule(String string) {
try{
GenericRuleReasoner reasoner = new GenericRuleReasoner(Rule.parseRules(string));
Model oModel = m.getOntology();
reasoner.setDerivationLogging(true);
reasoner.setOWLTranslation(true);
reasoner.setTraceOn(true);
reasoner.setTransitiveClosureCaching(true);
InfModel inf = ModelFactory.createInfModel(reasoner, oModel);
inf.write(new FileWriter("E://1_1_1"));
Model baseModel = ModelFactory.createDefaultModel();
baseModel.add(inf);
final OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_DL_MEM_RULE_INF, baseModel);
ValidityReport validity = model.validate();
}
}
规则本身的格式为
[ r1: (?x :objProp1 :ind_x) -> (?x :objProp2 :ind_y) ] 其中objProp 是对象属性,ind_x、ind_y 是个体以及规则字符串中“:”的必要前缀。
【问题讨论】:
标签: java rdf jena semantic-web jena-rules