java - 通过 Jena 启用 SPARQL 请求的推理?

标签 java sparql jena virtuoso reasoning

问题环境:

我必须通过 SPARQL 访问存储在 virtuoso 服务器中的一些 RDF 数据。必须为我想要访问的图表启用推理。在客户端必须使用 jena 2.11.x。

现在的问题:

为了启用推理,我必须根据 http://docs.openlinksw.com/virtuoso/rdfsparqlrule.html 添加行 define input:inference „http://examplegraphIRI“ 作为 SPARQL 查询的第一行。如果我使用 Jena QueryExecutionFactory 执行查询,它将被拒绝,因为 ARQ 无法解析给定的行。

现在的问题:

我需要使用 Virtuoso Jena Provider ( http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtJenaProvider#Bypass%20Jena/ARQ%20parser ) 吗?它能解决我的问题吗(最新版本( http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload#Jena%20Provider )声明它适用于 jena 2.10.x)?

是否还有其他可能性来启用 SPARQL 端点推理?

最佳答案

我通过浏览 Jena 和 ARQ 的源代码找到了解决方案:

而不是使用 final QueryEngineHTTP request = QueryExecutionFactory.createServiceRequest(String,Query)我可以使用 final QueryEngineHTTP request = new QueryEngineHTTP (this.endpoint, fullQueryString) 绕过解析器直接。

关于java - 通过 Jena 启用 SPARQL 请求的推理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576190/

相关文章:

java - 从 Groovy 中的 Iterable<Map.Entry> 创建 map

java - Java中如何解析下面的json?我尝试使用简单的 json 但出现空指针异常

SPARQL - 查找具有最相似属性的对象

web - 删除查询 SPARQL FUSEKI

java - 使用 Jena、FILTER 和 REGEX 编写 SPARQL 查询

java - Virtuoso Jena 程序中的 Reasoner

java - 求 char[] 的总唯一排列?

java - hibernate惰性真实错误

java - Jena-osgi 3.0.1 ExceptionInInitializerError processGlobalSystemProperties

java - 如何使用 Jena API、Fuseki 和 TDB 基于现有 OWL 文件创建 Jena Triple Store?