- From: Miller, Michael D (Rosetta) <Michael_Miller@Rosettabio.com>
- Date: Mon, 3 Apr 2006 09:43:25 -0700
- To: matt@biomedcentral.com, ibl@snet.net, phillip.lord@newcastle.ac.uk
- cc: public-semweb-lifesci@w3.org
- Message-ID: <E1FQS9T-000631-GT@maggie.w3.org>
Hi All, I've also (as I think I've said) found OMG proposed specification "Ontology Definition Metamodel" very useful for thinking of practical ways of dealing with Ontologies, especially for referencing from the non-onotolgy UML FuGE (Functional Genomics) model. I've included an image of the class diagram. All the classes in FuGE derive from Describable so have an 0..n association to OntologyTerm. The desired design is to associate Objects in FuGE with Individuals, not directly with Ontology Classes. So for a rather contrived example, a garage object might be associated to two cars described in the following example: Imagine a vehicle Ontology and the class Car, a Car has_roof which points to a class Roof, has_engine which points to a class Engine, and has_hemi which is true or false but has no default value and is optional. In this example the ontology itself defines no Individuals. So an application might define an Individual of Mustang whose has_roof slot points to a Roof Individual of Canvas/Retractable, a has_engine slot that points to an Engine Individual of 425cc and has_hemi which takes the value true. It also might define an Individual of Camry whose has_roof slot points to a Roof Individual of Metal, a has_engine slot that points to an Engine Individual of 245cc and does not define a has_hemi value. Based on the XML that would be generated for these classes, it becomes: <FuGE-OM> <OntologyIndividual identifier = "www.ford.com:detroit:Mustang" name = "Mustang" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#Car"> <Properties_assnreflist> <ObjectProperty_ref identifier = "www.ford.com:detroit:has_roof_slot"/> <ObjectProperty_ref identifier = "www.ford.com:detroit:has_engine_slot"/> <DataProperty_ref identifier = "www.ford.com:detroit:has_hemi_slot"/> </Properties_assnreflist> </OntologyIndividual> <ObjectProperty identifier = "www.ford.com:detroit:has_roof_slot" name = "has_roof_slot" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#has_roof"> <Content_assn> <OntologyIndividual_ref identifier = "www.ford.com:detroit:Canvas/Retractable"/> </Content_assn> </ObjectProperty> <ObjectProperty identifier = "www.ford.com:detroit:has_engine_slot" name = "has_engine_slot" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#has_engine"> <Content_assn> <OntologyIndividual_ref identifier = "www.ford.com:detroit:425cc"/> </Content_assn> </ObjectProperty> <DataProperty identifier = "www.ford.com:detroit:has_hemi_slot" name = "has_hemi_slot" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#has_hemi_slot" value = "true" datatype = "boolean" /> <OntologyIndividual identifier = "www.ford.com:detroit:Canvas/Retractable" name = "Canvas/Retractable" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#Roof"/> <OntologyIndividual identifier = "www.ford.com:detroit:425cc" name = "425cc" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#Engine"/> <!-- --> <OntologyIndividual identifier = "www.toyota.com:tokyo:Camry" name = "Camry" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#Car"> <Properties_assnreflist> <ObjectProperty_ref identifier = "www.toyota.com:tokyo:has_roof_slot"/> <ObjectProperty_ref identifier = "www.toyota.com:tokyo:has_engine_slot"/> </Properties_assnreflist> </OntologyIndividual> <ObjectProperty identifier = "www.toyota.com:tokyo:has_roof_slot" name = "has_roof_slot" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#has_roof"> <Content_assn> <OntologyIndividual_ref identifier = "www.toyota.com:tokyo:Metal"/> </Content_assn> </ObjectProperty> <ObjectProperty identifier = "www.toyota.com:tokyo:has_engine_slot" name = "has_engine_slot" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#has_engine"> <Content_assn> <OntologyIndividual_ref identifier = "www.toyota.com:tokyo:245cc"/> </Content_assn> </ObjectProperty> <OntologyIndividual identifier = "www.toyota.com:tokyo:Metal" name = "Metal" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#Roof"/> <OntologyIndividual identifier = "www.toyota.com:tokyo:245cc" name = "245cc" ontologyURI ="www.vehicle_ontology.org::vo" ontologyTermURI = "www.vehicle_ontology.org::#Engine"/> </FuGE-OM> (FuGE has an Identifiable class from which the identifier attribute is inherited, the *_ref are typically URI LSID-like constructions which have the added semantics that they are references to the actual object, which may or may not be in the current document but should be resolvable somewhere in the real world) cheers, Michael Michael Miller Lead Software Developer Rosetta Biosoftware Business Unit www.rosettabio.com > -----Original Message----- > From: public-semweb-lifesci-request@w3.org > [mailto:public-semweb-lifesci-request@w3.org] On Behalf Of > matt@biomedcentral.com > Sent: Monday, April 03, 2006 8:52 AM > To: ibl@snet.net; phillip.lord@newcastle.ac.uk > Cc: public-semweb-lifesci@w3.org > Subject: RE: Apply Ontology Automatically (was: Ontology > editor + why RDF?) > > > > Here's my favorite example of useful automated ontology > application, achieved by combining two readily available technologies: > > http://www.hackdiary.com/archives/000070.html > > Matt > > > -----Original Message----- > > From: public-semweb-lifesci-request@w3.org > > [mailto:public-semweb-lifesci-request@w3.org]On Behalf Of Internet > > Business Logic > > Sent: 03 April 2006 16:44 > > To: Phillip Lord > > Cc: public-semweb-lifesci@w3.org > > Subject: Re: Apply Ontology Automatically (was: Ontology > editor + why > > RDF?) > > > > > > > > Phillip -- > > > > You wrote (below) "ability ... to be able to apply the > > ontology automatically in some circumstances" > > > > This could be the major selling point. Otherwise, the value > > of the ontology depends on how well programmers read, > > understand, and use it. And, if they did that well, was it > > their value-add, not that of the ontology? > > > > Do you have examples in which an ontology has been applied > > automatically to do a significant real world task? > > > > (Questions intended constructively). > > > > Thanks -- Adrian Walker > > > > -- > > > > Internet Business Logic (R) > > Executable open vocabulary English > > Online at www.reengineeringllc.com > > Shared use is free > > > > Reengineering, PO Box 1412, Bristol, CT 06011-1412, USA > > > > Phone 860 583 9677 Mobile 860 830 2085 Fax 860 314 1029 > > > > > > > > > > Phillip Lord wrote: > > > > >>>>>>"Anita" == deWaard, Anita (ELS) > <A.dewaard@elsevier.com> writes: > > >>>>>> > > >>>>>> > > > > > > Anita> I am reminded of a saying on a Dutch proverb calendar: "If > > > Anita> love is the answer, could you please repeat the > > question?" If > > > Anita> semantics are the answer - what is the problem > that is being > > > Anita> solved, in a way no other technology lets you? b > > > > > >To be honest, I think that this is a recipe of despair; I > don't think > > >that there is any one thing that SW enables you do to that > could not > > >do in another way. It's a question of whether you can do > things more > > >conveniently, or with more commonality than other wise; > > after all, XML > > >is just an extensible syntax and, indeed, could do exactly nothing > > >that SGML could not do (when it came out -- XML standards > exceed SGML > > >ones now). XML has still been successful. > > > > > >It's more a question of whether, RDF or OWL provides a > combination of > > >things that we would not get otherwise. With OWL (DL and lite), I > > >rather like the ability to check my model with a reasoner, > and to be > > >able to apply the ontology automatically in some > circumstances. With > > >RDF, you have a convenient technology for building a hyperlinked > > >resource, but with added link types. > > > > > >Of course, you could do the latter with straight XML > (well, since RDF > > >is XML, you are doing so). And the former could be done > without OWL, > > >just with a raw DL; of course, then you wouldn't get some of the > > >additional features of OWL (such as multi-lingual support which > > >derives directly from the XML). > > > > > > Anita> Perhaps if we can find a way to nail this down (I also > > > Anita> believe the use cases of this working group, and > > the group as > > > Anita> a whole is certainly working towards that aim!) > we could try > > > Anita> to not just preach the semantic gospel, but > > > Anita> actually sell it (forgive the mixed metaphor)... > > > > > >Having said all that went before, I agree with this; > having a set of > > >RDF/OWL life sciences success stories which explained why the > > >technology was appropriate (if not uniquely appropriate) would be a > > >good thing, if it has not been done before. > > > > > >Cheers > > > > > >Phil > > > > > > > > > > > > > > > > > > > This email has been scanned by Postini. > For more information please visit http://www.postini.com > > > > >
Attachments
- image/jpeg attachment: OntologyMain.jpg
Received on Monday, 3 April 2006 16:43:52 UTC