OWL 推理题
Posted
技术标签:
【中文标题】OWL 推理题【英文标题】:OWL inferencing question 【发布时间】:2011-06-08 01:09:42 【问题描述】:我使用的是 Jena 语义网络框架 2.6.3 版。我有代码创建一个带有猫头鹰推理的模型,然后添加以下三元组:
_:bnode-3 rdf:type owl:Restriction .
_:bnode-3 owl:onProperty :offspringOf .
_:bnode-3 owl:someValuesFrom :Person .
_:bnode-3 rdfs:subClassOf :Person .
_:bnode-3
应该是一个限制类,例如,如果 :bob
是 :Person
并且断言了以下三元组,则它将包含 :joe
:
:joe :offspringOf :bob .
那么,由于限制类是 Person 的子类,:joe
也将是一个人。
事实上,这是可行的。令我困惑的是,在我只断言这篇文章顶部的 4 个三元组之后,推理器创建了一个空白节点,它是一个人。换句话说,以下三元组现在在模型中:
_:b0 rdf:type :Person
我不明白它为什么会这样做。对于理解这一点的任何帮助将不胜感激。
谢谢。 肯特。
【问题讨论】:
【参考方案1】:由于我不是 OWL 专家,我不确定推理者为什么会这样做 - 您是否尝试在 jena-users 列表中提问?
他们通常会很快回答您,并且他们应该知道您为什么会得到观察到的行为。
注意
我重新格式化了您的问题,因为您的代码示例有些令人困惑 - 请不要将 Triples 写成 [ex:subject ex:predicate ex:object]
,因为它看起来很像 Turtle/N3/SPARQL 中的一些语法糖,这会导致创建额外的空白节点只是那些你想要的
【讨论】:
以上是关于OWL 推理题的主要内容,如果未能解决你的问题,请参考以下文章
python 知识图谱 推理_知识图谱推理与实践 -- 基于jena实现规则推理