0

次のオントロジーは矛盾しています。理由を説明できますか?

:Ingredient    a                   owl:Class.

:Car           a                   owl:Class;
               owl:disjointWith    :Ingredient.

:MyCar         a                   :Car.

:Cheese        a                   :Ingredient.
:Milk          a                   :Ingredient.

:containsIngredient   a            owl:ReflexiveObjectProperty, owl:TransitiveObjectProperty;
                      rdfs:domain  :Ingredient;
                      rdfs:range   :Ingredient;

:Cheese        :containsIngredient :Milk.

推論者はそれが:MyCar :containsIngredient :MyCar それを意味することを推測しています:MyCar a :Ingredient と 以来:MyCar a :Car:Car :disjointWith :Ingredient私のオントロジーは矛盾しています。

問題は次のとおりです: as range と domainがあるのに、なぜ reflexive プロパティが:containsIngredientに対して trueなのですか?:MyCar:Ingredient

4

1 に答える 1

2

どうやらは、プロパティのドメインと範囲に関係なく、owl:ReflexiveObjectPropertyすべてのもの ( ) に適用されます。プロパティに aおよび aをowl:Thing設定することにより、すべての個体が範囲クラスおよびドメイン クラスの個体でもあることを暗黙のうちに表明します。私の意見では、これは無駄になります。rdfs:domainrdfs:rangeowl:Thingowl:ReflexiveObjectPropery

上記のオントロジーですべきことは、ドメインとプロパティの範囲を無視するプロパティを使用する代わりに、(Protégé クラス式の構文) と:Ingredient等価にすることです。containsIngredient Selfowl:ReflexiveObject

于 2013-06-09T14:21:58.057 に答える