如何使用HERMIT reasoner 1.3.8在Java中执行SPARQL查询?我使用的是owlapi 4.2,我使用以下方法加载了HERMIT reasoner:
OWLReasonerFactory reasonerFactory = new Reasoner.ReasonerFactory();
OWLReasoner reasonerHermit = reasonerFactory.createReasoner(ontology);
不幸的是,我找不到任何关于如何使用此推理器执行SPARQL查询的解释?!这可能吗?如果没有,我使用owlapi和SPARQL还有什么其他的可能性(其他原因)?
编辑:
我现在知道我需要一个SPARQL引擎。这就是我这样使用SPARQL-DL的原因:
QueryEngine engine = QueryEngine.create(manager, reasoner, true);
Query query = Query.create("...");
QueryResult result = engine.execute(query);
System.out.println(result);
查询有效,但是如果我现在得到像
?de.derivo.sparqldlapi.Var@69 = http://www.example.com/project1#document_1
我怎样才能走出http://www.example.com/project1#document_1
?我找不到一个合适的方法来获得这个值。
查看QueryResult的源代码,这里提供了一个查询绑定。您有迭代所有绑定的方法,您应该在绑定的绑定值中找到您想要的值。
HermiT是OWL推理机,而不是SPARQL引擎。有一个叫做SPARQL-DL的应用编程接口,但是根据它的网站,它只支持OWL应用编程接口v3. x。可以找到支持OWL API 4的新分叉版本,作为Presge项目的一部分:https://github.com/protegeproject/sparql-dl-api
我想创建新的推理器(隐士)。 2)使用构造函数:[org.semanticweb.hermit.reasoner]
我将OWLAPI与HermiT一起使用,除非在创建了推理器之后尝试修改本体,否则它是有效的。
我通过Protege创建了以下本体。 本体: 我想运行HermiT reasoner获得推断的类层次结构及其解释。 1)[在Ontology中提供] 2)[在Ontology中提供] 我想像Protege一样获取数据。Protege分别显示推断出的公理及其解释。那么如何得到它们呢?(我添加了一些protege的截图供参考) 我的本体: 承担说明:
我想从reasoner[隐士]那里得到推断出的公理,以及它的适当解释。我在Protege中创建了以下本体论。 A.OWL 以下是我的Java代码:- 门生形象:-
我使用的是Protege OWL API 4.3(OWL API 3.4.2)。它安装了HermiT Reasoner插件。 我的问题是,无论我对推理器有什么查询,都没有输出,它没有提供任何实例。 这就是我的本体的样子: 干杯,S。