## 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

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

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
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>
</ObjectUnionOf>
</EquivalentClasses>
<DisjointClasses>
<Class URI="&Ontology1250754331109;COMPONENT"/>
<Class URI="&Ontology1250754331109;FUNCTION"/>
</DisjointClasses>
<Declaration>
<Class URI="&Ontology1250754331109;COMPONENT"/>
</Declaration>
<EquivalentClasses>
<ObjectIntersectionOf>
<Class URI="&Ontology1250754331109;COMPONENT"/>
<ObjectSomeValuesFrom>
<ObjectProperty URI="&Ontology1250754331109;renders"/>
<Class URI="&Ontology1250754331109;FUNCTION"/>
</ObjectSomeValuesFrom>
</ObjectIntersectionOf>
</EquivalentClasses>
<SubClassOf>
<Class URI="&Ontology1250754331109;COMPONENT"/>
</SubClassOf>
<DisjointClasses>
</DisjointClasses>
<Declaration>
</Declaration>
<EquivalentClasses>
<ObjectIntersectionOf>
<Class URI="&Ontology1250754331109;COMPONENT"/>
<ObjectComplementOf>
</ObjectComplementOf>
</ObjectIntersectionOf>
</EquivalentClasses>
<SubClassOf>
<Class URI="&Ontology1250754331109;COMPONENT"/>
</SubClassOf>
<Declaration>
</Declaration>
<Declaration>
<Class URI="&Ontology1250754331109;FUNCTION"/>
</Declaration>
<EquivalentClasses>
<Class
<ObjectIntersectionOf>
<Class URI="&Ontology1250754331109;FUNCTION"/>
<ObjectMinCardinality cardinality="1">
<ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
<Class URI="&Ontology1250754331109;COMPONENT"/>
</ObjectMinCardinality>
</ObjectIntersectionOf>
</EquivalentClasses>
<SubClassOf>
<Class
<Class URI="&Ontology1250754331109;FUNCTION"/>
</SubClassOf>
<Declaration>
<Class
</Declaration>
<EquivalentClasses>
<Class
<ObjectIntersectionOf>
<Class URI="&Ontology1250754331109;FUNCTION"/>
<ObjectExactCardinality cardinality="1">
<ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
<Class URI="&Ontology1250754331109;COMPONENT"/>
</ObjectExactCardinality>
</ObjectIntersectionOf>
</EquivalentClasses>
<SubClassOf>
<Class
<Class URI="&Ontology1250754331109;FUNCTION"/>
</SubClassOf>
<Declaration>
<Class
</Declaration>
<EquivalentClasses>
<Class
<ObjectIntersectionOf>
<Class URI="&Ontology1250754331109;FUNCTION"/>
<ObjectMinCardinality cardinality="2">
<ObjectProperty URI="&Ontology1250754331109;isRenderedBy"/>
<Class URI="&Ontology1250754331109;COMPONENT"/>
</ObjectMinCardinality>
</ObjectIntersectionOf>
</EquivalentClasses>
<SubClassOf>
<Class
<Class URI="&Ontology1250754331109;FUNCTION"/>
</SubClassOf>
<Declaration>
<Class
</Declaration>
<EquivalentClasses>
<Class
<ObjectIntersectionOf>
<Class URI="&Ontology1250754331109;FUNCTION"/>
<ObjectComplementOf>
<Class
</ObjectComplementOf>
</ObjectIntersectionOf>
</EquivalentClasses>
<SubClassOf>
<Class
<Class URI="&Ontology1250754331109;FUNCTION"/>
</SubClassOf>
<Declaration>
<Class
</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>