[英]Setting up OWL reasoner in Jena
我试图在Turtle中定义一个对称的,可传递的谓词,并从中进行推论。
这是我定义谓词的方式:
:similar a owl:SymmetricProperty; a owl:TransitiveProperty .
我如何使用它(同一个乌龟文件):
:a :similar :b .
:b :similar :c .
然后,我发出一个火花查询“ select?x where?x:similar:c”,希望得到a和b。
我试图建立这样的模型:
OntModel ont = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
ont.read("file:./myontology.turtle",null,"TURTLE");
InfModel model = ModelFactory.createInfModel(ReasonerRegistry.getOWLReasoner(), ont);
然后在我的QueryExecutionFactory.create中使用InfModel。 不起作用。
我也尝试过:
OntModel model = ModelFactory.createOntologyModel( OntModelSpec.OWL_DL_MEM_RULE_INF );
model.read("file:./myontology.turtle",null,"TURTLE");
也没有运气。 正确的方法是什么? 我想念什么?
提前致谢。
找到了答案。 以下工作正常:
OntModel model = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_MICRO_RULE_INF);
model.read("file:./myontology.turtle",null,"TURTLE");
我在前缀方面遇到了一些问题。 另外,我在声明:like与类,并假设子类将继承owl:SymmetricProperty和owl:TransitiveProperty。 似乎不是那样工作
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.