我正在尝试学习如何在我的本体示例中使用owl:equivalentClass属性(在Protégé中称为Equivalent To)和SubClasses,如下所示:
Plant
L Angiosperm (subClass of Plant)
L Gymnosperm (subClass of Plant)
现在我向这两个子类添加了2个对象属性,以这种方式将它们绑定到它们的SuperClass:
Plant hasFlowers Angiosperm ------- (exp: meaning that a Plant that has flowers is an Angiosperm)
Plant hasNoFlowers Gymnosperm
我想要实现的是通过我在Protégé中制作的属性来表达相同的As属性但是我没有得到如何做,我想表达这样的事情:
Angiosperm <someRandomProp> <someData>
"Equivalent To"
(Plant hasFlowers) <someRandomProp> <someData>
编辑:清除了属性名称
您不能在两个类之间使用对象属性 - 只能以这种方式使用注释属性。
你试图表达的意思是,有花的植物是被子植物 - 要做到这一点,你想断言被子植物相当于植物的类和有花的东西,所以你有对财产的存在性限制,并将其与命名概念相交叉。
从内存中,这应该输入为
EquivalentClasses (Angiosperm, (Plant and some hasFlowers Thing))
(在这一点上,拥有域的范围和范围并不重要)。