java支持通过Jena对SPARQL请求进行推理?
问题环境:
我必须通过SPARQL访问存储在virtuoso服务器中的一些RDF数据。必须为我想要访问的图形启用推理。在客户端jena 2.11。必须使用x
现在的问题是:
为了支持推理,我必须根据http://docs.openlinksw.com/virtuoso/rdfsparqlrule.html添加行define input:inference „http://examplegraphIRI“
作为SPARQL查询的第一行。如果我使用Jena QueryExecutionFactory
执行查询,它将被拒绝,因为ARQ无法解析给定的行
现在的问题是:
我是否需要使用杰纳音乐大师的音乐提供者(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端点启用推理
# 1 楼答案
我通过浏览Jena和ARQ的源代码找到了解决方案:
我可以直接使用
final QueryEngineHTTP request = new QueryEngineHTTP (this.endpoint, fullQueryString)
绕过解析器,而不是使用final QueryEngineHTTP request = QueryExecutionFactory.createServiceRequest(String,Query)