「apple」が「fruit」または「apple」のインスタンスであるかどうかは、「fruit」のサブクラスであるかどうかによって決まります。リンゴのインスタンスがたくさんあるので、「リンゴ」はクラスであると言うのが理にかなっています。しかし、Ignazioは "apple"がインスタンスであり、彼の答えが受け入れられた解決法を提示して以来、私は "apple"がインスタンスであると仮定して始めます。 。この:bob
はリンゴが好きではない人の識別子であると仮定すると(:Fruit
あると:apple
ではありませんすべてが:bob
により、必要な愛されていることを言っている注
:Fruit a owl:Class .
:apple a :Fruit .
:Person a owl:Class .
:bob a :Person .
:loves a owl:ObjectProperty .
[ a owl:Class;
owl:intersectionOf (
:Fruit
[ a owl:Class; owl:complementOf [a owl:Class; owl:oneOf (:apple)] ]
)
] rdfs:subClassOf [
a owl:Restriction;
owl:onProperty [ owl:inverseOf :loves ];
owl:hasValue :bob
] .
:次に、あなたがあなたが望むものを達成することができますこれはまさにOPが望んでいるものをモデル化しないIgnazioのソリューション、異なる
さて、りんごのクラスが存在する場合、その解決策は次のようになります。
あなたは[roliをを
:Fruit a owl:Class .
:Apple rdfs:subClassOf :Fruit .
:Person a owl:Class .
:bob a :Person .
:loves a owl:ObjectProperty .
[ a owl:Class;
owl:intersectionOf (
:Fruit
[ a owl:Class; owl:complementOf :Apple ]
)
] rdfs:subClassOf [
a owl:Restriction;
owl:onProperty [ owl:inverseOf :loves ];
owl:hasValue :bob
] .
かもしれませんfication](http://stackoverflow.com/questions/16989042/owl-2-rolification)に役立ちます。 –