OBOFoundry/COB

Express COB as a formal schema

Opened this issue · 2 comments

We frequently have requests for:

  • general modeling patterns using COB
  • visualizing how COB classes should connect together
  • validating COB in a way that is stricter and captures intuitive connections more than OWA OWL reasoning

We should do this, and do it in a machine actionable way. Hand drawn diagrams are always nice but they become stale, they are ambiguous, cannot be used for validation or for machine guided data entry

There are a few candidate systems

  • template-oriented
    1. dosdp
    2. robot template
    3. ottr
  • schema / validation
    1. UML
    2. json-schema
    3. LinkML
    4. SHACL
    5. ShEx

Before expressing preference we should first outline criteria, for example:

  • produces diagrams useful to non OWL experts
  • can be used to valid RDF aboxes
  • works off of "native" ABoxes
  • can express examples
  • can assist in generation of axioms (e.g. via UI or spreadsheet compilation)
  • ...

The part about native ABoxes is nuanced yet important. @balhoff and I have experience in using ShEx to model highly connected OBO-compliant ABox graphs. Many schema languages have type theory that is at odds with an OBO realist type theory, OBO lacks a schema and instead rdf:types range over massive TBoxes. This has implications for balancing the criteria above.

How complex would this schema be? Cant we just build one to start working, and later change the primary representation language?

@cmungall Would you be doing this in LinkML and then translating to ShEx, SHACL, Json-schema, etc.?