INCATools / kgcl

Datamodel for KGCL (Knowledge Graph Change Language)
https://w3id.org/kgcl/
MIT License
11 stars 4 forks source link

Manipulating synonym types #39

Open gouttegd opened 1 year ago

gouttegd commented 1 year ago

Unless I am missing something, KGCL allows to manipulate synonym scopes (exact/narrow/broad/related), but it is ignorant of the concept of synonym types (represented in OWL, at least in some ontologies from the OBO world, by oboInOwl#hasSynonymType).

Being able to add types to a synonym would be useful. For example, several OBO ontologies have a policy that abbreviations that may be used to refer to a term should be represented as synonyms with scope related and a type that clearly marks the synonym as an abbreviation.

This could be done with a general syntax to allow arbitrary axiom annotations (as requested in #12), but I think this would be a bit too “low-level” for KGCL. Ideally users should be able to add synonym types without even having to know that such types are represented with a oboInOwl#hasSynonymType under the hood.

Possible syntax:

create (exact|narrow|broad|exact)? synonym {new_value} (with type {new_synonym_type})? for {about_node}
change synonym type (from {old_synonym_type})? to {new_synonym_type} for {old_value} on {about_node}