最小基数不按预期在Protege中工作

问题描述:

我是Protege/OWL中的初学者,我很难理解为什么最大基数正在工作而最小基数不是。 我试过隐士丸和事实reasoners。我知道开放世界的假设,但这对我来说似乎不合逻辑。最小基数不按预期在Protege中工作

我想表达的是,婚姻事件中必须至少有两个人。

类:MarriageEvent

EquivalentTo:

这工作: MarriageEvent and is_event_of max 2 Person

这不是: MarriageEvent and is_event_of min 2 Person

所有个人都被宣布为不同的个人。

我的本体论:

<?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 --> 
+0

嗯,这是什么意思'这个作品'和'这不是'? –

+0

我的意思是说,如果我有三个人,但是如果我在is_event_of realtion中只有一个人,那么他就不会抱怨。就好像最小基数限制不适用一样。 – theChaosCoder

+0

假设'MarriageEvent''is_event_ofMax',声明'Person'等价于{Max,Julia,Peter}',并创建两个负属性断言。 –

min 2 Person不会抱怨,只有一个人是因为开放世界假设已知婚姻。仅仅因为婚礼的第二方不知道,并不意味着它不在那里。

语义Web语言如OWL使得开放世界的假设。 如果网络中没有特定声明,原则上指 声明尚未明确提出,与 无关,无论其是否为真,也不论我们是否认为它是真实的或不。实质上,由于没有 单独的陈述,演绎推理者不能(也不能)推断 该陈述是错误的。

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

缺乏一个关于第二个人并不意味着没有第2个个体的存在语句。