geneontology / obographs

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

Define mapping for obsoletion/deprecation #13

Closed cmungall closed 7 years ago

cmungall commented 8 years ago

cc @dosumis @tonysawfordebi

cmungall commented 8 years ago

OK, using a generic translation of

[Term]
id: X:1
name: x1
namespace: x

[Term]
id: X:2
name: obsolete x2
is_obsolete: true
replaced_by: X:1
namespace: x

[Term]
id: Y:1
name: y1
alt_id: Y:2
namespace: y

we get

---
graphs:
- nodes:
  - id: "http://purl.obolibrary.org/obo/Y_2"
    meta:
      basicPropertyValues:
      - pred: "http://www.w3.org/2002/07/owl#deprecated"
        val: "true"
      - pred: "http://purl.obolibrary.org/obo/IAO_0000231"
        val: "http://purl.obolibrary.org/obo/IAO_0000227"
      - pred: "http://purl.obolibrary.org/obo/IAO_0100001"
        val: "http://purl.obolibrary.org/obo/Y_1"
    type: "CLASS"
  - id: "http://purl.obolibrary.org/obo/IAO_0100001"
    type: "PROPERTY"
    lbl: "term replaced by"
  - id: "http://purl.obolibrary.org/obo/X_1"
    meta:
      basicPropertyValues:
      - pred: "http://www.geneontology.org/formats/oboInOwl#hasOBONamespace"
        val: "x"
    type: "CLASS"
    lbl: "x1"
  - id: "http://purl.obolibrary.org/obo/X_2"
    meta:
      basicPropertyValues:
      - pred: "http://www.geneontology.org/formats/oboInOwl#hasOBONamespace"
        val: "x"
      - pred: "http://purl.obolibrary.org/obo/IAO_0100001"
        val: "X:1"
      - pred: "http://www.w3.org/2002/07/owl#deprecated"
        val: "true"
    type: "CLASS"
    lbl: "obsolete x2"
  - id: "http://purl.obolibrary.org/obo/Y_1"
    meta:
      basicPropertyValues:
      - pred: "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId"
        val: "Y:2"
      - pred: "http://www.geneontology.org/formats/oboInOwl#hasOBONamespace"
        val: "y"
    type: "CLASS"
    lbl: "y1"
  - id: "http://www.geneontology.org/formats/oboInOwl#hasOBONamespace"
    type: "PROPERTY"
    lbl: "has_obo_namespace"
  - id: "http://www.geneontology.org/formats/oboInOwl#hasAlternativeId"
    type: "PROPERTY"
    lbl: "has_alternative_id"
  edges: []
  id: "http://purl.obolibrary.org/obo/obsoletion_example.owl"
  meta:
    subsets: []
    xrefs: []
    basicPropertyValues: []
  equivalentNodesSets: []
  logicalDefinitionAxioms: []
  domainRangeAxioms: []
  propertyChainAxioms: []

which is fairly ugly. Consider convenience tags