【问题标题】:OWL cardinality restriction issueOWL 基数限制问题
【发布时间】:2019-12-13 11:38:30
【问题描述】:

如下图所示,a 是一个已定义的类has_relation min 2 b
c 也是一个命名类 (has_relation min 1 b1) and (has_relation min 1 b2)

pellet reasoner 没有将c 归类为a 的子类。c 的定义有什么问题?

<?xml version="1.0"?>
<rdf:RDF xmlns="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#"
     xml:base="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     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#">
    <owl:Ontology rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123"/>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Object Properties
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#has_relation -->

    <owl:ObjectProperty rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#has_relation"/>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Classes
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#a -->

    <owl:Class rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#a">
        <owl:equivalentClass>
            <owl:Restriction>
                <owl:onProperty rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#has_relation"/>
                <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">2</owl:minQualifiedCardinality>
                <owl:onClass rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b"/>
            </owl:Restriction>
        </owl:equivalentClass>
    </owl:Class>



    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b -->

    <owl:Class rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b"/>



    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b1 -->

    <owl:Class rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b1">
        <rdfs:subClassOf rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b"/>
    </owl:Class>



    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b2 -->

    <owl:Class rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b2">
        <rdfs:subClassOf rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b"/>
    </owl:Class>



    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b3 -->

    <owl:Class rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b3">
        <rdfs:subClassOf rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b"/>
    </owl:Class>



    <!-- http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#c -->

    <owl:Class rdf:about="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#c">
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#has_relation"/>
                <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality>
                <owl:onClass rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b1"/>
            </owl:Restriction>
        </rdfs:subClassOf>
        <rdfs:subClassOf>
            <owl:Restriction>
                <owl:onProperty rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#has_relation"/>
                <owl:minQualifiedCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:minQualifiedCardinality>
                <owl:onClass rdf:resource="http://www.semanticweb.org/user/ontologies/2019/11/untitled-ontology-123#b2"/>
            </owl:Restriction>
        </rdfs:subClassOf>
    </owl:Class>
</rdf:RDF>



<!-- Generated by the OWL API (version 4.5.9.2019-02-01T07:24:44Z) https://github.com/owlcs/owlapi -->

【问题讨论】:

    标签: owl semantic-web ontology protege pellet


    【解决方案1】:

    b 子类(b1,b2) 必须彼此不相交。否则推理器无法确定b1b2 是相同或不同的成员。

    我认为这指的是开放世界假设讨论。

    【讨论】:

    • 我想说这不是指 OWA:这些类可以简单地相互重叠。假设一个人必须创造一棵树和一所房子。但是如果他住在他种的树下呢?
    • OWA 不涉及,因为它足以为 c 的有效实例找到一个示例,但它不是 a 的实例。假设 has_relation 有一个填充个体,它是 b1 和 b2 的实例,正如 Stanislav 所提到的,那么它是填充的所有个体都是 c 的实例,而不是 a 的实例,因为只有一个断言。在您对 c 的定义中,您可以将 and 移至填充类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 2017-11-29
    相关资源
    最近更新 更多