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 05:10:27 PDT 2009


 

	In fact I wonder why the combination of those 3 axioms (as necessary and sufficient conditions) doesn't match

	*	Axiom 1 : "COMPONENT" equivalent to "Component_Linked or Component_NotLinked" 
	*	Axiom 2 : "Component_Linked" equivalent to "COMPONENT and renders some FUNCTION" 
	*	Axiom 3 : "Component_NotLinked" equivalent to "COMPONENT and not Component_Linked" 


	If C1 is a "COMPONENT" and it is not a "Component_Linked" ...
	... it should be a "Component_NotLinked"
	(because "COMPONENT" is the union of the both)
	
	
	No ? 
	 
	Yes! If you say: C1 instanceof (COMPONENT AND NOT Component_Linked) it should be inferred to be Component_Notlinked (conform axiom 3)
	However, it is not sufficient to say C1 instanceof COMPONENT 
	
	
	I suppose I"m wrong, but I don't really understand why it doesn't works like that !
	
	
	Otherwise, is it possible to add a new axiom (at class level) to have something working as I would expect ?
	Or it is definitively impossible without stated something at C1 level ?
	
	 
	It should work as described above. But in fact there is hardly any inference left as you then already specify it as an instance of (NOT Component_Linked).
	So alternatively it would be worth considering representing it as (COMPONENT and NOT renders some FUNCTION)
	 
	Cheers, Ronald
	 

	Best Regards,

	Bernard





	On Mon, Aug 24, 2009 at 12:46 PM, Ronald Cornet <r.cornet at amc.uva.nl> wrote:
	

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













		_______________________________________________
		protege-owl mailing list
		protege-owl at lists.stanford.edu
		https://mailman.stanford.edu/mailman/listinfo/protege-owl
		
		Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
		
		




	-- 
	Bernard Chabot
	PLM Consultant
	PCO Innovation
	06.85.19.42.51
	

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.stanford.edu/pipermail/protege-owl/attachments/20090824/50839687/attachment.html>


More information about the protege-owl mailing list