来自AllegroGraph Python API的Prolog查询中的OWL推理



我注意到,在AllegroGraph Python API教程中,每当他们想使用OWL推理时,他们都会使用conn.getStatements方法,而不是发出Prolog或SPARQL查询。 是否有可能通过发出Prolog或SPARQL查询而不是使用conn.getStatements方法从OWL推理器推断出三元组? 我尝试了一个Prolog查询:

(select (?x ?y) (q ?x !ex:owned-by ?y))

我把拥有者定义为owl:inverseOf ex:owns,并且我的商店里有三重ex:someone ex:owns ex:something,但我没有得到任何结果。 我确实通过使用conn.getStatements获得了结果,所以我是否在 Prolog 查询中遗漏了一些重要的东西?

在调用 evaluate 之前,您是否在从 prepareTupleQuery 返回的查询对象上调用了 setIncludeInfered?

http://www.franz.com/agraph/support/documentation/v4/python-tutorial/python-API-40.html#Query%20Class

默认情况下,"包含推断"为 False。我相信有效值是假(无推理)、"rdfs++"或 True 和"限制",如推断 http 查询参数的 HTTP rest 文档中所述。Python 实现只是传递值。

http://www.franz.com/agraph/support/documentation/v4/http-protocol.html#header2-364

相关内容

  • 没有找到相关文章

最新更新