题
我很好奇,在课堂描述中混合sublassof和等效频道,以及推理者的行为方式。
具体而言,如果我对同一类具有等效频道和次级主张,那么是否需要满足等价频率和次级条件才能在该类别中分类,或者只有等效频道?
还是这是不良的做法?
例如(省略声明):
ObjectPropertyRange(:format :Bar)
ObjectPropertyRange(:format owl:Thing)
EquivalentClass(:Foo ObjectSomeValuesFrom(:format :Bar))
SubClassOf(:Foo :Sna)
我想确保在下面的情况下 :x
被归类为 :Foo
, ,因为满足了等价级和子类别的主张:
ClassAssertion(:x :Sna)
ObjectPropertyAssertion(:format :x :someBar)
但 :y
不是,因为子类不满足:
ClassAssertion(:y :NotASna)
ObjectPropertyAssertion(:format :y :someOtherBar)
谢谢,
乔纳森
解决方案
我不完全理解您的问题,但我会尝试澄清一些事情。首先,以下公理似乎与您的问题无关(第二个是多余的,因为 owl:Thing
是任何财产的范围):
ObjectPropertyRange(:format :Bar)
ObjectPropertyRange(:format owl:Thing)
另一件事是 EquivalentClasses
- 轴可以看作是句法糖 SubClassOf
- 轴,例如
EquivalentClasses(C1 C2)
在逻辑上等同于
SubClassOf(C1 C2)
SubClassOf(C2 C1)
因此您可以重写您的 EquivalentClasses
作为:
SubClassOf(ObjectSomeValuesFrom(:format :Bar) :Foo)
SubClassOf(:Foo ObjectSomeValuesFrom(:format :Bar))
这可能会简化理解您本体论所做的何种需要。
现在,如果您说:
ClassAssertion(:x :Sna)
ObjectPropertyAssertion(:format :x :someBar)
我假设您想说:
ClassAssertion(:x :Sna)
ClassAssertion(:someBar :Bar)
ObjectPropertyAssertion(:format :x :someBar)
这需要 :x
既是 :Foo
和 :Sna
, ,这肯定是可能的,因为 :Foo
是 :Sna
.
当你说
ClassAssertion(:y :NotASna)
ObjectPropertyAssertion(:format :y :someOtherBar)
我认为你的意思是:
ClassAssertion(:y :NotASna)
ClassAssertion(:someOtherBar :Bar)
DisjointClasses(:NotASna :Sna)
ObjectPropertyAssertion(:format :y :someOtherBar)
这是逻辑上的不一致之处,因为 :y
是一个 :Foo
(这是一个子类 :Sna
),但同时 :y
被认为是与 :Sna
.
还请注意,我们没有使用
SubClassOf(:Foo ObjectSomeValuesFrom(:format :Bar))
随后是 EquivalentClasses
-公理。
不隶属于 StackOverflow