Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] How to classify individuals with a reasoner (using axioms only at Class level) ?

Chabot Bernard chabot.bernard at gmail.com
Mon Aug 24 03:31:56 PDT 2009


Hello,

I'm trying to classify individuals with a reasoner (Fact++ or Racer) in
Protégé 4.0 for a very basis application

Here is the application description :
(See whole owl.file at the end of this post)


Step 1a : Defining a - very simple - ontology only made of Classes and
Properties
==============================================================
2 primary Classes :
   - "FUNCTION"
   - "COMPONENT"
> "FUNCTION" and "COMPONENT" are disjoint Classes

2 Properties :
   - "isRenderedBy" (domain = "FUNCTION" / range = "COMPONENT")
   - "renders" (domain = "COMPONENT" / range = "FUNCTION")
> "isRenderedBy" and "renders" are inverse properties
==============================================================


Step 1b : Adding 2 new named Classes and some "equivalent classes" axioms
==============================================================
2 named Classes
   - "Component_Linked"
   - "Component_NotLinked"

Axioms :
   - "COMPONENT" equivalent to "Component_Linked or Component_NotLinked"
   - "Component_Linked" equivalent to "COMPONENT and renders some FUNCTION"
   - "Component_NotLinked" equivalent to "COMPONENT and not
Component_Linked"
==============================================================


Step 2a : Populating the ontology with some individual (+ 1 new axiom)
==============================================================
Adding some individuals with type = "FUNCTION"
Adding some individuals with type = "COMPONENT"
Linking some individuals (with type = "FUNCTION")  to some others
individuals (with type = "COMPONENT")
Adding a new axiom (the only axiom at individuals level) :  All individuals
are differents
==============================================================


Step 2b : Running the reasonner
==============================================================
Results : 2 individuals (C1 and C2) are well classify by the reasoner as
"Component_Linked"
BUT C3 (a individual with type = "COMPONENT" not linked to any individual)
is not reconized as a "Component_NotLinked"
==============================================================

I suppose I've miss something, but I'm not able to see what is missing !

Can you help me to solve this issue ?

Regards

Bernard


Whole .owl file
===============================================================
<?xml version="1.0"?>


<!DOCTYPE Ontology [
    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
    <!ENTITY owl2xml "http://www.w3.org/2006/12/owl2-xml#" >
    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
    <!ENTITY Ontology1250754331109 "
http://www.semanticweb.org/ontologies/2009/7/Ontology1250754331109.owl#" >
]>


<Ontology xmlns="http://www.w3.org/2006/12/owl2-xml#"
     xml:base="http://www.w3.org/2006/12/owl2-xml#"
     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
     xmlns:owl2xml="http://www.w3.org/2006/12/owl2-xml#"
     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#"
     xmlns:Ontology1250754331109="
http://www.semanticweb.org/ontologies/2009/7/Ontology1250754331109.owl#"
     URI="
http://www.semanticweb.org/ontologies/2009/7/Ontology1250754331109.owl">
    <EquivalentClasses>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
        <ObjectUnionOf>
            <Class URI="&Ontology1250754331109;Component_Linked"/>
            <Class URI="&Ontology1250754331109;Component_NotLinked"/>
        </ObjectUnionOf>
    </EquivalentClasses>
    <DisjointClasses>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </DisjointClasses>
    <Declaration>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
    </Declaration>
    <EquivalentClasses>
        <Class URI="&Ontology1250754331109;Component_Linked"/>
        <ObjectIntersectionOf>
            <Class URI="&Ontology1250754331109;COMPONENT"/>
            <ObjectSomeValuesFrom>
                <ObjectProperty URI="&Ontology1250754331109;renders"/>
                <Class URI="&Ontology1250754331109;FUNCTION"/>
            </ObjectSomeValuesFrom>
        </ObjectIntersectionOf>
    </EquivalentClasses>
    <SubClassOf>
        <Class URI="&Ontology1250754331109;Component_Linked"/>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
    </SubClassOf>
    <DisjointClasses>
        <Class URI="&Ontology1250754331109;Component_Linked"/>
        <Class URI="&Ontology1250754331109;Component_NotLinked"/>
    </DisjointClasses>
    <Declaration>
        <Class URI="&Ontology1250754331109;Component_Linked"/>
    </Declaration>
    <EquivalentClasses>
        <Class URI="&Ontology1250754331109;Component_NotLinked"/>
        <ObjectIntersectionOf>
            <Class URI="&Ontology1250754331109;COMPONENT"/>
            <ObjectComplementOf>
                <Class URI="&Ontology1250754331109;Component_Linked"/>
            </ObjectComplementOf>
        </ObjectIntersectionOf>
    </EquivalentClasses>
    <SubClassOf>
        <Class URI="&Ontology1250754331109;Component_NotLinked"/>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
    </SubClassOf>
    <Declaration>
        <Class URI="&Ontology1250754331109;Component_NotLinked"/>
    </Declaration>
    <Declaration>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </Declaration>
    <EquivalentClasses>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_OneOrMore_Component"/>
        <ObjectIntersectionOf>
            <Class URI="&Ontology1250754331109;FUNCTION"/>
            <ObjectMinCardinality cardinality="1">
                <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
                <Class URI="&Ontology1250754331109;COMPONENT"/>
            </ObjectMinCardinality>
        </ObjectIntersectionOf>
    </EquivalentClasses>
    <SubClassOf>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_OneOrMore_Component"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </SubClassOf>
    <Declaration>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_OneOrMore_Component"/>
    </Declaration>
    <EquivalentClasses>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_OnlyOne_Component"/>
        <ObjectIntersectionOf>
            <Class URI="&Ontology1250754331109;FUNCTION"/>
            <ObjectExactCardinality cardinality="1">
                <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
                <Class URI="&Ontology1250754331109;COMPONENT"/>
            </ObjectExactCardinality>
        </ObjectIntersectionOf>
    </EquivalentClasses>
    <SubClassOf>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_OnlyOne_Component"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </SubClassOf>
    <Declaration>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_OnlyOne_Component"/>
    </Declaration>
    <EquivalentClasses>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_TwoOrMore_Component"/>
        <ObjectIntersectionOf>
            <Class URI="&Ontology1250754331109;FUNCTION"/>
            <ObjectMinCardinality cardinality="2">
                <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
                <Class URI="&Ontology1250754331109;COMPONENT"/>
            </ObjectMinCardinality>
        </ObjectIntersectionOf>
    </EquivalentClasses>
    <SubClassOf>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_TwoOrMore_Component"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </SubClassOf>
    <Declaration>
        <Class
URI="&Ontology1250754331109;Function_LinkedTo_TwoOrMore_Component"/>
    </Declaration>
    <EquivalentClasses>
        <Class
URI="&Ontology1250754331109;Function_NotLinkedTo_Any_Component"/>
        <ObjectIntersectionOf>
            <Class URI="&Ontology1250754331109;FUNCTION"/>
            <ObjectComplementOf>
                <Class
URI="&Ontology1250754331109;Function_LinkedTo_OneOrMore_Component"/>
            </ObjectComplementOf>
        </ObjectIntersectionOf>
    </EquivalentClasses>
    <SubClassOf>
        <Class
URI="&Ontology1250754331109;Function_NotLinkedTo_Any_Component"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </SubClassOf>
    <Declaration>
        <Class
URI="&Ontology1250754331109;Function_NotLinkedTo_Any_Component"/>
    </Declaration>
    <InverseObjectProperties>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
        <ObjectProperty URI="&Ontology1250754331109;renders"/>
    </InverseObjectProperties>
    <ObjectPropertyDomain>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </ObjectPropertyDomain>
    <ObjectPropertyRange>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
    </ObjectPropertyRange>
    <Declaration>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
    </Declaration>
    <ObjectPropertyDomain>
        <ObjectProperty URI="&Ontology1250754331109;renders"/>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
    </ObjectPropertyDomain>
    <ObjectPropertyRange>
        <ObjectProperty URI="&Ontology1250754331109;renders"/>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
    </ObjectPropertyRange>
    <Declaration>
        <ObjectProperty URI="&Ontology1250754331109;renders"/>
    </Declaration>
    <ClassAssertion>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
        <Individual URI="&Ontology1250754331109;C1"/>
    </ClassAssertion>
    <Declaration>
        <Individual URI="&Ontology1250754331109;C1"/>
    </Declaration>
    <ClassAssertion>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
        <Individual URI="&Ontology1250754331109;C2"/>
    </ClassAssertion>
    <Declaration>
        <Individual URI="&Ontology1250754331109;C2"/>
    </Declaration>
    <ClassAssertion>
        <Class URI="&Ontology1250754331109;COMPONENT"/>
        <Individual URI="&Ontology1250754331109;C3"/>
    </ClassAssertion>
    <DifferentIndividuals>
        <Individual URI="&Ontology1250754331109;C3"/>
        <Individual URI="&Ontology1250754331109;F3"/>
        <Individual URI="&Ontology1250754331109;C1"/>
        <Individual URI="&Ontology1250754331109;C2"/>
        <Individual URI="&Ontology1250754331109;F2"/>
        <Individual URI="&Ontology1250754331109;F1"/>
    </DifferentIndividuals>
    <Declaration>
        <Individual URI="&Ontology1250754331109;C3"/>
    </Declaration>
    <ClassAssertion>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
        <Individual URI="&Ontology1250754331109;F1"/>
    </ClassAssertion>
    <Declaration>
        <Individual URI="&Ontology1250754331109;F1"/>
    </Declaration>
    <ClassAssertion>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
        <Individual URI="&Ontology1250754331109;F2"/>
    </ClassAssertion>
    <ObjectPropertyAssertion>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
        <Individual URI="&Ontology1250754331109;F2"/>
        <Individual URI="&Ontology1250754331109;C1"/>
    </ObjectPropertyAssertion>
    <Declaration>
        <Individual URI="&Ontology1250754331109;F2"/>
    </Declaration>
    <ClassAssertion>
        <Class URI="&Ontology1250754331109;FUNCTION"/>
        <Individual URI="&Ontology1250754331109;F3"/>
    </ClassAssertion>
    <ObjectPropertyAssertion>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
        <Individual URI="&Ontology1250754331109;F3"/>
        <Individual URI="&Ontology1250754331109;C2"/>
    </ObjectPropertyAssertion>
    <ObjectPropertyAssertion>
        <ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
        <Individual URI="&Ontology1250754331109;F3"/>
        <Individual URI="&Ontology1250754331109;C1"/>
    </ObjectPropertyAssertion>
    <Declaration>
        <Individual URI="&Ontology1250754331109;F3"/>
    </Declaration>
</Ontology>

<!-- Generated by the OWL API (version 2.2.1.1138)
http://owlapi.sourceforge.net -->
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-owl/attachments/20090824/dedb7138/attachment.html>


More information about the protege-owl mailing list