[MOBY-dev] Re: [MOBY] Re: OWL Lite encoding of bio-ontologies.

Mark Wilkinson markw at illuminae.com
Thu Jan 22 18:05:50 UTC 2004


Hi GO friends!

I am forwarding this discussion to the MOBY developers list in the hope
that you might add moby-dev to your replies so that we can follow this
conversation along with you.  We have a similar issue w.r.t. the has-a
relationships in our moby objects (effectively part-of, from the
opposite perspective).  I have recently been chatting with Andrew Farmer
about the "correct" way to represent this in RDF or extensions of RDF,
so this discussion is very relevant to us!  It would be nice if both
projects chose the same solution...

Thanks!

Mark


On Thu, 2004-01-22 at 06:22, stuart at inf.ed.ac.uk wrote:
> Thomas, that's a good question, the answer is quite long I'm afraid.
> Our work is mostly on OBO, but similar issues arise.
> 
> >> 3: The meaning of logical relations in bio-ontologies needs to be made
> >> consistent with OWL and RDFS.
> >
> > Could you expand on this? Are there plans to address this?
> >
> > What would actually be lost at the semantic level by encoding the
> > current bio-ontologies in the OWL Lite sublanguage (known to have
> > decidable reasoning, and usable inference systems, e.g. RACER)?
> 
> First there is a syntactic problem with the IDs of GO terms. These are
> used as local names in the XML/RDF syntax:
> <go:term rdf:about="http://www.geneontology.org/go#GO:0003673"
>                                                    ^^^^^^^^^^^
>             n_associations="0">
>             <go:accession>GO:0003673</go:accession>
>             <go:name>Gene_Ontology</go:name>
> </go:term>
> 
> but the XML spec for Qnames does not allow ':' to occur, so
> http:..../go#GO:0003673 causes problems under current standards.
> One solution would be to used the concept name as the term:
> <go:term rdf:about="http://www.geneontology.org/go#GeneOntology"  ...
> but these need to be unique, and this would be a problem for OBO
> ontologies.
> 
> Second there are semantic problems for OBO anatomies (GO is much
> better stuctured). 
> To use the DL reasoners both is_a and part_of need to be translated
> into properly defined relations. is_a maps to rdfs:subClassOf, but
> part_of is more complex. (part_of A B) might mean some B's have A's as
> parts, or all B's have A's as parts, the problem is to define how the
> instances of A and B relate to each other. A DL solution would be
> along these lines (example from Drosophila ontology) - define 
> AdultHeartMuscle and AdultAorticFunnel to be parts of the AdultHeart:
> 
> AdultHeartMuscle := (allValuesFrom part_of AdultHeart)
> AdultAorticFunnel := (allValuesFrom part_of AdultHeart)
> 
> but we need to distinguish further between these. The ontology says 
> AdultHeartMuscle isa AdultVisceralMuscle so we can write:
> AdultHeartMuscle := (allValuesFrom part_of AdultHeart) and AdultVisceralMuscle
> 
> however there is no more information about AdultAorticFunnel in the
> ontology, and therefore some additional knowledge and analysis must be provided
> manually to get the right result from a DL classifier. There's a paper
> on the migration problem as it applies to GO by Wroe et al 
> http://www.smi.stanford.edu/projects/helix/psb03/wroe.doc
> I guess the DL folks can give an update about the prospects for analysing GO
> in this way. 
> 
> An alternative, which gives some of the same benefits, is to keep
> part-of as a relation between classes (as it currently is in GO and
> OBO) and define the alternative interpretations in first-order logic.
> Basically the idea is to define partOf, and state the additional properties of
> the partOf relation, e.g. given (partOf Part Whole) do sub-types of the
> Whole have the Part as well?, is the Part a direct part of the Whole?
> etc. There are only a small number of modelling decisions to be made
> in converting to this ontology. This is an OWL-Full solution, more
> details can be found here: 
> http://www.aiai.ed.ac.uk/resources/go/
> http://www-smi.stanford.edu/projects/helix/psb04/aitken.pdf
> 
> However, DL reasoners can't be used for reasoning as we don't use
> property restrictions to encode the meaning. Fortunately, the Jena toolkit
> provides a rule-based reasoner and the useful inferences can be coded
> as rules. 
> 
> You mention OWL-Lite, but note that relations in OWL-Lite are between
> individuals, not classes as is the case for GO's part_of. (so you need
> either a DL or Full solution).
> Hope this helps.....
> Stuart
> 
> --
> This message is from the GOFriends moderated mailing list.  A list of public
> announcements and discussion of the Gene Ontology (GO) project.
> Problems with the list?           E-mail: owner-gofriends at geneontology.org
> Subscribing   send   "subscribe"   to   gofriends-request at geneontology.org
> Unsubscribing send   "unsubscribe"  to  gofriends-request at geneontology.org
> Web:          http://www.geneontology.org/
-- 
Mark Wilkinson
Assistant Professor (Bioinformatics)
Dept. of Medical Genetics
University of British Columbia's iCAPTURE Centre
Vancouver, BC, Canada

------------------------------------------------------------------------
It just goes to show you that SOAP::Lite is more intuitive than you might 
think, if you know enough Perl and have the patience to dive into the 
source code.
		-Byrne Reese
		-http://builder.com.com/5100-6389_14-1045078-2.html
------------------------------------------------------------------------



More information about the MOBY-dev mailing list