最小基数在 Protege 中无法正常工作

min cardinality not working as expected in Protege

我是 Protege 的初学者/OWL,我无法理解为什么最大基数有效而最小基数无效。 我尝试将 Hermit Pellet 和 Fact 作为推理机。我知道开放世界假设,但这对我来说似乎不合逻辑。

我想表达的是,结婚活动必须至少有2个人。

Class: MarriageEvent

EquivalentTo:

有效: MarriageEvent and is_event_of max 2 Person

这不是: MarriageEvent and is_event_of min 2 Person

所有个人都被声明为不同的个人。

我的ontology:

 <?xml version="1.0"?>
 <Ontology xmlns="http://www.w3.org/2002/07/owl#"
 xml:base="http://www.semanticweb.org/anato/ontologies/2017/7/untitled-ontology-184"
 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
 xmlns:xml="http://www.w3.org/XML/1998/namespace"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
 ontologyIRI="http://www.semanticweb.org/anato/ontologies/2017/7/untitled-ontology-184">
<Prefix name="owl" IRI="http://www.w3.org/2002/07/owl#"/>
<Prefix name="rdf" IRI="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/>
<Prefix name="xml" IRI="http://www.w3.org/XML/1998/namespace"/>
<Prefix name="xsd" IRI="http://www.w3.org/2001/XMLSchema#"/>
<Prefix name="rdfs" IRI="http://www.w3.org/2000/01/rdf-schema#"/>
<Declaration>
    <NamedIndividual IRI="#Peter"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#Julia"/>
</Declaration>
<Declaration>
    <ObjectProperty IRI="#is_event_of"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#Max"/>
</Declaration>
<Declaration>
    <Class IRI="#Person"/>
</Declaration>
<Declaration>
    <NamedIndividual IRI="#Event_Marriage"/>
</Declaration>
<Declaration>
    <Class IRI="#MarriageEvent"/>
</Declaration>
<EquivalentClasses>
    <Class IRI="#MarriageEvent"/>
    <ObjectIntersectionOf>
        <Class IRI="#MarriageEvent"/>
        <ObjectMinCardinality cardinality="2">
            <ObjectProperty IRI="#is_event_of"/>
            <Class IRI="#Person"/>
        </ObjectMinCardinality>
    </ObjectIntersectionOf>
</EquivalentClasses>
<EquivalentClasses>
    <Class IRI="#MarriageEvent"/>
    <ObjectIntersectionOf>
        <Class IRI="#MarriageEvent"/>
        <ObjectMaxCardinality cardinality="2">
            <ObjectProperty IRI="#is_event_of"/>
            <Class IRI="#Person"/>
        </ObjectMaxCardinality>
    </ObjectIntersectionOf>
</EquivalentClasses>
<DisjointClasses>
    <Class IRI="#MarriageEvent"/>
    <Class IRI="#Person"/>
</DisjointClasses>
<ClassAssertion>
    <Class IRI="#MarriageEvent"/>
    <NamedIndividual IRI="#Event_Marriage"/>
</ClassAssertion>
<ClassAssertion>
    <Class IRI="#Person"/>
    <NamedIndividual IRI="#Julia"/>
</ClassAssertion>
<ClassAssertion>
    <Class IRI="#Person"/>
    <NamedIndividual IRI="#Max"/>
</ClassAssertion>
<ClassAssertion>
    <Class IRI="#Person"/>
    <NamedIndividual IRI="#Peter"/>
</ClassAssertion>
<DifferentIndividuals>
    <NamedIndividual IRI="#Event_Marriage"/>
    <NamedIndividual IRI="#Julia"/>
    <NamedIndividual IRI="#Max"/>
    <NamedIndividual IRI="#Peter"/>
</DifferentIndividuals>
<ObjectPropertyAssertion>
    <ObjectProperty IRI="#is_event_of"/>
    <NamedIndividual IRI="#Event_Marriage"/>
    <NamedIndividual IRI="#Julia"/>
</ObjectPropertyAssertion>
<ObjectPropertyAssertion>
    <ObjectProperty IRI="#is_event_of"/>
    <NamedIndividual IRI="#Event_Marriage"/>
    <NamedIndividual IRI="#Peter"/>
</ObjectPropertyAssertion>
<SubObjectPropertyOf>
    <ObjectProperty IRI="#is_event_of"/>
    <ObjectProperty abbreviatedIRI="owl:topObjectProperty"/>
</SubObjectPropertyOf>
<IrreflexiveObjectProperty>
    <ObjectProperty IRI="#is_event_of"/>
</IrreflexiveObjectProperty>
<ObjectPropertyDomain>
    <ObjectProperty IRI="#is_event_of"/>
    <Class IRI="#MarriageEvent"/>
</ObjectPropertyDomain>
<ObjectPropertyRange>
    <ObjectProperty IRI="#is_event_of"/>
    <Class IRI="#Person"/>
</ObjectPropertyRange>
</Ontology>

<!-- Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi -->

min 2 Person不会因为开放世界假设而抱怨只认识一个人的婚姻。婚礼第二方不为人知,不代表没有。

Semantic Web languages such as OWL make the open-world assumption. The absence of a particular statement within the web means, in principle, that the statement has not been made explicitly yet, irrespective of whether it would be true or not, and irrespective of whether we believe that it would be true or not. In essence, from the absence of a statement alone, a deductive reasoner cannot (and must not) infer that the statement is false.

https://en.wikipedia.org/wiki/Open-world_assumption

没有关于第二个人存在的陈述并不意味着没有第二个人。