geneontology / obographs

Basic and Advanced OBO Graphs: specification and reference implementation
63 stars 12 forks source link

Improve semantics of synonym types and subset defs #46

Open althonos opened 4 years ago

althonos commented 4 years ago

Hi! This is related to my current work on fastobo-graphs to provide OBO JSON support in native Rust and Python.

Currently, the synonym type case is handled the following way in ROBOT: a new synonym type is declared as a new node in the OBO graph, and that node does not have a type, which is the only case of a missing node type I found in OBO graphs. Same goes for subset definitions in header frames.

I propose that:

  1. A new SYNONYMTYPE node type is added to the specification
  2. A new SUBSET node type is added to the spectification
  3. The node type is made a mandatory field on all nodes.
cmungall commented 4 years ago

The alternative is to be more owl-centric and use annotation property as the type, as that is how it is modeled in OWL. This goes against the grain a bit with OG, so I think your proposal makes more sense.

We should do the same for subsets, also (somewhat weirdly) represented as APs in OWL