Closed dosumis closed 6 years ago
Hmmmm - Looking at example, I think I've made it needlessly complicated. Can just be a printf like other cases.
Using existing fields:
annotations:
-
annotation_property: 'has_exact_synonym'
text: '%s breakdown to %s'
vars:
- from
- to
We could then define a convenience field with the AP pre-filled:
properties:
generated_synonyms:
type: array
items:
$ref: '#/definitions/printf_annotation_obo',
mapping: "oboInOwl:hasExactSynonym"
Example:
generated_synonyms:
-
text: " %s breakdown to %s"
vars:
- from
- to
This assumes only exact synonyms generated - which I think is safest.
Annotations (e.g. xrefs) can be specified for each axiom.
Some patterns specify narrow synonyms, +ve reg has:
var synonyms = termgenie.synonyms([ "positive regulation of ",
"up regulation of ", "up-regulation of ", "upregulation of ", "activation of " ],
["EXACT", "EXACT", "EXACT", "EXACT", "NARROW" ],
x, go, [], label);
(Note: js function is much less verbose (and more OBO-ish) than dosdp here. But synonym type mapping in OWL makes this OBO-ish syntax hard to build on the DOSDP basic spec.)
TBD: support this in the core spec, or as an extension?
How it could work:
Draft:
Examples:
Challenges: How to combine with manually specified synonyms / allow weeding out of duff combinations. Weeding out presumably only practical for terms that live in the ontology, rather than tsv.