繁体   English   中英

owlapi HERMIT和SPARQL

[英]owlapi HERMIT and SPARQL

如何使用HERMIT推理程序1.3.8在Java中执行SPARQL查询? 我正在使用owlapi 4.2,并且已使用以下命令加载了HERMIT推理程序:

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 我找不到获取此值的正确方法。

HermiT是OWL推理程序,而不是SPARQL引擎。 有一个名为SPARQL-DL的API,但根据其网站,它仅支持OWL APIv3.x。 可以在Protege项目中找到具有OWL API 4支持的较新的分支版本: https : //github.com/protegeproject/sparql-dl-api

查看QueryResult的源( 可从此处获得),这里有一个查询绑定。 您具有迭代所有绑定的方法,并且应该在绑定的绑定值中找到要获取的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM