I am the one who added the OboFileHandler (based on some original code from obo-edit). I was not sure how best to build up the datastructure representing the relationships in a memory efficient way at that time, so I left it out . Does anybody already have a solution from another project for that, that we could use here? Both links and triples sound like reasonable approaches to me. I think the original ideas in the Ontology framework were to support triples. I can have a look how difficult it would be to build up the hierarchy using that. (after I added some feature requests for the structure modules...)
Andreas On Thu, Jul 23, 2009 at 8:39 AM, Peter Midford<[email protected]> wrote: > JP, > No, these are not just annotations to terms, and the code jumbles > together several things that should be separated. To properly handle the > IS_A key, you will have to build the hierarchy, which you can do OBO style > using links or restrictions (which I believe are a subclass of links in OBO, > rather than adding an intermediate class to the ontology) or OWL style using > triples (Subject, Predicate, Object) where is_a would be your predicate. I > assume the other key values that look like set operations are for building > restrictions. > > Peter > > > On Jul 23, 2009, at 11:29, JP wrote: > >> I never quite got this Peter, what is a triple ? >> Could these simply be considered as annotations ? Or are you thinking in >> the lines of building hierarchies out of these (I take it this is the most >> common task). >> >> These relationships are *fundamental* for any work of ontology. >> >> 2009/7/23 Peter Midford <[email protected]> >> JP, >> Looking at the code for OboFileHandler.java, fresh from svn, it >> looks like they're presently being dropped on the floor. Perhaps someone >> should either implement obo restrictions or links or build some triples >> here, as they seem to be used for the rest of the ontology code. >> >> >> >> } else if (key.equals(IS_A) || >> key.equals(RELATIONSHIP) || >> key.equals(DISJOINT_FROM) || >> key.equals(INTERSECTION_OF) || >> key.equals(SUBSET)) { >> //TODO: deal with relationships >> >> >> } else if (key.equals(COMMENT)){ >> >> >> Peter >> >> On Jul 23, 2009, at 7:15, JP wrote: >> >>> Hi there at Biojava, >>> >>> I have an ontology file (from www.geneontology.org, >>> gene_ontology.1_2.obo). >>> A typical entry for a term is: >>> >>> [Term] >>> id: GO:0000025 >>> name: maltose catabolic process >>> namespace: biological_process >>> def: "The chemical reactions and pathways resulting in the breakdown of >>> the >>> disaccharide maltose (4-O-alpha-D-glucopyranosyl-D-glucopyranose)." >>> [GOC:jl, >>> ISBN:0198506732 "Oxford Dictionary of Biochemistry and Molecular >>> Biology"] >>> subset: gosubset_prok >>> synonym: "malt sugar catabolic process" EXACT [] >>> synonym: "malt sugar catabolism" EXACT [] >>> synonym: "maltose breakdown" EXACT [] >>> synonym: "maltose degradation" EXACT [] >>> synonym: "maltose hydrolysis" NARROW [] >>> xref: MetaCyc:MALTOSECAT-PWY >>> is_a: GO:0000023 ! maltose metabolic process >>> is_a: GO:0046352 ! disaccharide catabolic process >>> >>> I am reading this with the code suggested in: >>> http://biojava.open-bio.org/wiki/BioJava:CookBook:OBO:parse >>> I would like to get the is_a entries (as Term) - is this possible ? I >>> tried >>> to find this everywhere (annotations?) but find it (google searches >>> included). >>> >>> Many Thanks >>> JP >>> _______________________________________________ >>> Biojava-l mailing list - [email protected] >>> http://lists.open-bio.org/mailman/listinfo/biojava-l >> >> Peter E. Midford >> Mesquite Developer >> [email protected] >> >> >> >> >> > > Peter E. Midford > Mesquite Developer > [email protected] > > > > > _______________________________________________ > Biojava-l mailing list - [email protected] > http://lists.open-bio.org/mailman/listinfo/biojava-l > _______________________________________________ Biojava-l mailing list - [email protected] http://lists.open-bio.org/mailman/listinfo/biojava-l
