OBO: 1.3 Whiteboard: Difference between revisions

From GO Wiki
Jump to navigation Jump to search
Line 28: Line 28:


== General Specification Changes ==
== General Specification Changes ==
The OBO 1.3 specification needs to discuss the concept of parser extensions. Parser extensions are optional addenda to the basic OBO 1.3 specification that provide additional features to the OBO language.
Parser extensions require that we add a new header tag to OBO files called '''requires_extension'''. The '''requires_extension''' tag should specify both an identifier for the required extension (so we need to figure out how we specify that) and a minimum version number for that extension.
=== Extensions ===
=== Extensions ===
There are at least two new extensions to OBO 1.3:
====Postcomp Extension====
This extension allows specially formatted post-composition expressions to be substituted for most identifier references in an OBO file. The post-composition expressions have the following format:
<code>
'''genus_term_id'''^''differentia_type_id''('''differentia_term_id''') [^''differentia_type_id''('''differentia_term_id''')]*
</code>
Where any of the term ids may be replaced with another post-comp expression, and parenthesis can be used in postcomp expressions to show precedence.

Revision as of 13:43, 3 October 2007

This page is intended to be a scratch pad for OBO 1.3 features and proposals.

Changes to Relations

The following new Typedef tags should be supported in OBO 1.3...

  1. transitive_under
  2. always_implies_inverse

transitive_under means that p -transitive_under-> q and X -q-> Y and Y -p-> Z, then X -p-> Y. Note that every relation is automatically transitive_over and transitive_under IS_A

always_implies_inverse is a boolean property. If always_implies_inverse is true for a relation p, it means that if p -inverse_of-> q and X -p-> Y, then Y -q-> X. This property could be used to define an integral_part_of relationship in OBO_REL, for example:

   [Typedef]
   id: OBO_REL:part_of
   name: part of
   inverse_of: has_part

   [Typedef]
   id: OBO_REL:has_part
   name: has part

   [Typedef]
   id: OBO_REL:integral_part_of
   is_a: OBO_REL:part_of
   always_implies_inverse: true

General Specification Changes

The OBO 1.3 specification needs to discuss the concept of parser extensions. Parser extensions are optional addenda to the basic OBO 1.3 specification that provide additional features to the OBO language.

Parser extensions require that we add a new header tag to OBO files called requires_extension. The requires_extension tag should specify both an identifier for the required extension (so we need to figure out how we specify that) and a minimum version number for that extension.

Extensions

There are at least two new extensions to OBO 1.3:

Postcomp Extension

This extension allows specially formatted post-composition expressions to be substituted for most identifier references in an OBO file. The post-composition expressions have the following format:

genus_term_id^differentia_type_id(differentia_term_id) [^differentia_type_id(differentia_term_id)]*

Where any of the term ids may be replaced with another post-comp expression, and parenthesis can be used in postcomp expressions to show precedence.