有什么方法可以在 GraphDB 中查询时关闭推理器。Graphdb Sparql 文本框中有>>符号用于关闭推理器。我想知道我们是否可以关闭 Sparql 查询本身的推理器。如果是这样,是否建议这样做,因为某些查询在没有推理器的情况下更容易实现?
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