linikujp / owltools

Automatically exported from code.google.com/p/owltools
0 stars 0 forks source link

Command line method to remove redundant relationships? #94

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I'd like to be able to strip out redundant relationships that sometimes occur 
in -simple files after assertion

e.g. 

'b of a' EquivalentT b that part_of some a
'b1 of a' SubclassOf  b
'b1 of a' SUbClassOf part_of some a

After reasoning 
=>

a
  <- part_of 'b of a'
     <- is_a b1 of a
  <- part_of b1 of a  *

I'd like to remove redundant relationship, marked above with a *

Original issue reported on code.google.com by kotoko.o...@gmail.com on 12 Apr 2014 at 5:05

GoogleCodeExporter commented 9 years ago
Hi Kotoko!

Yes, this would be useful for GO. I think this should be recommended (but not 
required) for an OBO Basic ontology 
http://oboformat.googlecode.com/svn/trunk/doc/obo-syntax.html#6.2 and performed 
by Oort.

In the interim, an additional command line option to strip these would be 
useful.

Formally, for any axiom A such that

A = C SubClassOf P some D

1. Remove A
2. Test if C is returned in a reasoner query for subclasses of "P some D"
3. If returned, remove A permanently, otherwise restore

Original comment by cmung...@gmail.com on 14 Apr 2014 at 12:49

GoogleCodeExporter commented 9 years ago
Shouldn't the -simple versions also follow this?  Don't see any reason to keep 
redundancy in, and simplifying the graph would be good for browsing.  

Note - this would provide a simple solution to Val's issues discussed here 
http://gocwiki.geneontology.org/index.php/Ontology_meeting_2014-04-10#part_of_nu
cleus_.28or_other_top-level_CC_term.29_vs_is_a_nuclear_part & here 
https://sourceforge.net/p/geneontology/ontology-requests/10757/  .  Despite our 
proposed resolution, she would prefer to see terms under the X-part terms 
rather than as direct parts.

Original comment by dosu...@gmail.com on 15 Apr 2014 at 9:37

GoogleCodeExporter commented 9 years ago
BTW, this is what OWLGraphManipulator#reduceRelations() does. In the old 
owltools way (without reasonner), but it works. Maybe you could add some 
command line arguments to use it?

Original comment by frederic...@gmail.com on 2 Jul 2014 at 8:33