Смысл OWL не работает для "min" кардинальности (но работает для "some")
Я создаю простую онтологию в Protege, есть проблема с рассуждениями о кардинальности. Ниже представлена игрушечная модель онтологии. Есть три случая A
, B
, а также C
, что у каждого есть 1, 2 и 3 hasOwner
собственность соответственно. Есть три :Onwer
случаи X
,Y
, а также Z
также.
Есть два класса, определенные с owl:equivalentClass
, один :Project
с owl:someValuesFrom :Owner
другой :JV
один с owl:minQualifiedCardinality "2" ; owl:onClass :Owner
,
Теперь мыслитель правильно классифицирует :JV
как подкласс :Project
; и это выводит все три случая A
, B
а также C
как примеры :Project
но ни как :JV
, Принимая во внимание, что технически, рассудитель должен поставить все три как :Project
, а также B
а также C
как примеры :JV
(так как у них 2 и 3 заявлено :hasOwner
свойства.
Может кто-нибудь, пожалуйста, скажите мне, что мне не хватает, возможно? Похоже, что это не проблема предположения об открытом мире, поскольку мы имеем дело с минимальным количеством элементов.
:Owner rdf:type owl:Class .
:hasOwner rdf:type owl:ObjectProperty .
:Project rdf:type owl:Class ;
owl:equivalentClass [ rdf:type owl:Restriction ;
owl:onProperty :hasOwner ;
owl:someValuesFrom :Owner
] .
:JV rdf:type owl:Class ;
owl:equivalentClass [ rdf:type owl:Restriction ;
owl:onProperty :hasOwner ;
owl:minQualifiedCardinality "2"^^xsd:nonNegativeInteger ;
owl:onClass :Owner
] .
:A rdf:type owl:NamedIndividual ;
:hasOwner :X .
:B rdf:type owl:NamedIndividual ;
:hasOwner :X ,
:Y .
:C rdf:type owl:NamedIndividual ;
:hasOwner :X ,
:Y ,
:Z .
:X rdf:type owl:NamedIndividual , :Owner .
:Y rdf:type owl:NamedIndividual , :Owner .
:Z rdf:type owl:NamedIndividual , :Owner .