geneontology / obographs

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

Improve documentation on IDs/URIs #30

Open cmungall opened 6 years ago

cmungall commented 6 years ago

https://github.com/geneontology/obographs/blob/master/README-owlmapping.md "Every identifier in an OBO Graph is interpreted as a URI. At the JSON/YAML level, these may be compacted URIs. The expansion to a full URI is specified via a JSON-LD context object. Context objects may be at the level of the graph document or an individual graph."

This is a bit opaque. We should have a clear normative spec along the lines of:

  1. Every object is identified by an IRI http://www.ietf.org/rfc/rfc3987.txt
  2. IRIs can be written as CURIES. https://www.w3.org/TR/curie/
  3. Prefixes for CURIEs must be explicitly declared in the JSON using a JSON-LD context https://www.w3.org/TR/json-ld/

TBD: JSON-LD contexts can be recursive which complicates things for consumers. Should this be limited to a non-recursive subset?

We should also have an informative section for people not familiar with W3C specs, giving some background on the two ways of identifying things.