如何填充定义为其他两个类的交集的类?

时间:2014-09-25 18:33:10

标签: rdf owl protege

我试图与Protege创建交集。

我创建了两个类,A和B.A类包含两个人,John和Mary。 B级还包含两个人,简和玛丽。然后我创建了一个AB类,我将其定义为A和B的交集。

enter image description here

由于玛丽是A级和B级的一部分,我期待它被添加到AB级。但是当我运行推理器(隐士)时,什么也没发生。我在这里做错了什么?

2 个答案:

答案 0 :(得分:0)

我试过你的例子,你没有做错任何事。 当我选择玛丽时,它推断它来自AB型。浏览课程时,但在选择个人时,推理不会显示。也许这就是为什么你感到困惑。 详情请见我的截图: enter image description here

答案 1 :(得分:-2)

<?xml version="1.0"?>


<!DOCTYPE rdf:RDF [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
]>


<rdf:RDF xmlns="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#"
     xml:base="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl="http://www.w3.org/2002/07/owl#"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <owl:Ontology rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6"/>



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




    <!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#A -->

    <owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#A">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>



    <!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#AB -->

    <owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#AB">
        <owl:equivalentClass>
            <owl:Class>
                <owl:intersectionOf rdf:parseType="Collection">
                    <rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#A"/>
                    <rdf:Description rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#B"/>
                </owl:intersectionOf>
            </owl:Class>
        </owl:equivalentClass>
    </owl:Class>



    <!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#B -->

    <owl:Class rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#B">
        <rdfs:subClassOf rdf:resource="&owl;Thing"/>
    </owl:Class>



    <!-- 
    ///////////////////////////////////////////////////////////////////////////////////////
    //
    // Individuals
    //
    ///////////////////////////////////////////////////////////////////////////////////////
     -->




    <!-- http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#Mary -->

    <owl:NamedIndividual rdf:about="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#Mary">
        <rdf:type rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#A"/>
        <rdf:type rdf:resource="http://www.semanticweb.org/i.gurjanov/ontologies/2014/8/untitled-ontology-6#B"/>
    </owl:NamedIndividual>
</rdf:RDF>



<!-- Generated by the OWL API (version 3.5.0) http://owlapi.sourceforge.net -->