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) ?

Ronald Cornet r.cornet at amc.uva.nl
Mon Aug 24 03:46:07 PDT 2009


> I suppose I've miss something, but I'm not able to see what is missing !
 
You're missing the open world assumption.
If you state something is linked, it is linked
If you don't state something is linked, it can be linked (but untold) or unlinked.
Only if you state explicitly that something is unlinked, it will be inferred as a component_unlinked.
 
Hope this helps.
Ronald
 

###############################################################
Ronald Cornet, PhD                    email: R.Cornet at amc.uva.nl
dept. of Medical Informatics          phone: +31 (0)20 566 5188
Academic Medical Center, Room J1B-115 fax:   +31 (0)20 691 9840
P.O.Box 22700                         www: http://kik.amc.uva.nl/home/rcornet/
1100 DE  Amsterdam
The Netherlands                       'The truth is out there'


 


________________________________

	From: protege-owl-bounces at mailman.stanford.edu [mailto:protege-owl-bounces at mailman.stanford.edu] On Behalf Of Chabot Bernard
	Sent: Monday, August 24, 2009 12:32
	To: protege-owl at mailman.stanford.edu
	Subject: [protege-owl] How to classify individuals with a reasoner (using axioms only at Class level) ?
	
	
	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/79934f4c/attachment.html>


More information about the protege-owl mailing list