【发布时间】:2019-09-20 15:29:58
【问题描述】:
有一个类 MotionPoint 等价于(Protege 语法)
(geosparql:asWKT exactly 1 rdfs:Literal)
and (:hasSpeed exactly 1 rdfs:Literal)
and (:hasTimestamp exactly 1 rdfs:Literal)
and (:locatedInRoadElement exactly 1 otn:Road_Element)
还有一个子类 OverspeedingMotionPoint 等价于
:MotionPoint
and (:overspeedingByValue exactly 1 rdfs:Literal)
因此,让个体 X 成为猫头鹰:与 MotionPoint 定义 Protege Pellet 推理器中的关系的事物推断 X 是 MotionPoint。
向 X 添加 overspeedingByValue 关系使 Pellet 推断 X 是 OverspeedingMotionPoint。
最后,我把这个本体导入GraphDB,选择OWL2-RL规则集,但不能得出X是OverspeedingMotionPoint的结论,它说X只是MotionPoint。
请帮助我理解我做错了什么..
【问题讨论】:
-
精确卡。限制根本不是 OWL2 RL 配置文件的一部分,对于等效的类公理,它甚至更多地仅限于值限制 - 所以我怀疑这会起作用。我什至想知道为什么会推断出
(x rdf:type :Motion)。请查看 OWL 文档可以做什么和不能做什么:w3.org/TR/owl2-profiles/#Class_Expressions_3 -
是的,你的怀疑是对的(X 是一个 :MotionPoint)。这是因为 domain(:locatedInRoadElement) 是 :MotionPoint),抱歉。
-
好的,是的。然后我的回答是,OWL2 RL 不支持您的功能。你可以试试
owl-max,它支持更多功能