首页 文章

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

提问于
浏览
1

问题环境:

我必须通过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 endpoints 启用推理?

1 回答

  • 2

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

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

相关问题