1

有什么方法可以在 GraphDb 中查询时关闭推理器。Graphdb Sparql 文本框中有 >> 符号来关闭推理器。我想知道我们是否可以关闭 Sparql 查询本身的推理器。如果是这样,是否推荐因为某些查询在没有推理器的情况下更容易实现?

4

1 回答 1

1

GraphDB 中的所有推理,除了owl:sameAs节点扩展外,都是在向数据库添加/删除语句时实现的。根据GraphDB 的文档,您可以使用以下方法关闭推理器:

PREFIX sys: <http://www.ontotext.com/owlim/system#>
INSERT DATA {
  _:b sys:addRuleset "empty" .
  _:b sys:defaultRuleset "empty" .
}

执行此操作后,引擎将不再实现数据库中的任何隐式三元组。

SPARQL 查询视图还使用的另一种替代方法是使用特殊图过滤查询时间的隐式语句onto:implicit

PREFIX onto: <http://www.ontotext.com/>
SELECT *
FROM onto:implicit 
WHERE {
    ?s ?p ?o 
}

或将 infer=false HTTP 参数添加到 SPARQL 端点:

curl -G --data-urlencode query='select * where { ?s ?p ?o. }' 'http://localhost:7200/repositories/test' --data-urlencode infer=false

于 2018-01-17T06:15:47.313 回答