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 04:58:59 PDT 2009


Hello Ronald,

OK for the OWA : It is true I have I've not stated anything about C1 !
(In fact I'm trying to avoid that - making statement at individuals level -
but I don't know if it is possible or not ?)

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 ?

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 ?


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/f19be824/attachment.html>


More information about the protege-owl mailing list