Merging and obsoleting classes
Terms to be obsoleted or merged should be reported in a GitHub issue. Obsoleted terms are maintained in a ROBOT Template which is the source for the “obsolete” component in VBO.
Term merging
When merging a term (=obsolete_term) into another term (=merged_into_term)
-
Add the obsolete_term information (copied to the original ROBOT template) to the “obsolete” ROBOT template:
- VBO ID: (required)
- TYPE: (required), should be “owl:Class”
- owl:deprecated: (required), should be “true”
- ‘term replaced by’: (required) add the merged_into_term vbo id
- ‘has obsolescence reason’: (required) write 'terms merged' in the literal field
- ‘term tracker item’: (required), add the link to the GitHub issue where the obsoletion/merge was discussed, should be type ‘xsd:anyURI’
- Comment: (optional)
-
Add the obsolete_term information (copied to the original ROBOT template) to the “merged_into_term” (on the ROBOT template):
- The original obsolete_term label should be added as an exact synonym, with the original obsolete_term VBO id as a source
-
Every other annotation and SubClassOf should be added to the “merged_into_term”, with their original source(s); review to ensure that there is no duplicate (when annotations are duplicate, add all sources under a single annotation). This includes:
- synonyms
- sources
- contributors
- xref
- Comment (note that only one comment is allowed per term, therefore comments might be merged
- SubClassOf
-
Remove the ‘obsolete_term’ from the original ROBOT template
- Update components
Term obsoletion (without merging)
-
Add the obsolete_term information (copied to the original ROBOT template) to the “obsolete” ROBOT template:
- VBO ID: (required)
- LABEL: (required), add “obsolete” in front of the original template
- TYPE: (required), should be “owl:Class”
- owl:deprecated: (required), should be “true”
- ‘has obsolescence reason’: (required)
- ‘term tracker item’’: (required), add the link to the GitHub issue where the obsoletion/merge was discussed, should be type ‘xsd:anyURI’
- Plus all the other annotations from the obsolete_term including their original source. This includes
1. Synonyms 2. Sources 3. Contributors 4. … 5. **Do NOT** include SubClassOf
-
Remove the ‘obsolete_term’ from the original ROBOT template
- Update components