Add basic support for ORCIDIO.#18
Merged
Merged
Conversation
Add a new project-level configuration option: `orcidio_support`. When enabled, it creates a custom import module for ORCIDIO. The module is generated by (1) extracting all ORCID references in dcterms:contributor annotations within the source ontology and (2) extracting all individuals corresponding to the referenced ORCIDs from the ORCIDIO ontology.
Collaborator
Author
|
Todo:
|
If `orcidio_support` is enabled, then instead of reading ORCIDIO from its online location whenever we build the `orcidio_import` module, we download the ontology separately and store it alongside the other mirrored ontologies in `$(MIRRORDIR)`. This allows (1) refreshing the import under MIR=false (to take into account new ORCID references in the -edit file, but without refreshing the ORCID mirror), and (2) avoiding rebuilding the import module just because the ORCIDIO mirror has been refreshed, if there has been no changes to the actual contents of ORCIDIO.
Update the ODK ROBOT plugin to version 0.3.3, where the default behaviour of the `odk:extract-orcids` command is to extract ORCID references from all IRI-valued annotations. Add to the generated Makefile a ORCIDIO_PROPERTIES variable, intended to list the properties to use when extracting ORCID references. The variable is set to an empty list, which triggers the default behaviour of the `odk:extract-orcids` command (extract from all annotations regardless of the property). The variable is intended to allow the ontology owner to tweak that behaviour, by overriding its definition in the custom Makefile.
matentzn
approved these changes
Jun 21, 2026
matentzn
left a comment
Contributor
There was a problem hiding this comment.
- we should update the OBOOK tutorial to point at the new flag once released
All great.
| .PHONY: download-mirror-orcidio | ||
| download-mirror-orcidio: | $(TMPDIR) $(MIRRORDIR) | ||
| @odk-helper download --output $(TMPDIR)/$@.owl \ | ||
| --reference $(MIRRORDIR)/orcidio.owl{% if project.import_group is defined %} \ |
Contributor
There was a problem hiding this comment.
I did NOT look at the defaults for project.import_group, but is it in theory possible to request "orcidio_support" and not have any other imports configured?
Collaborator
Author
There was a problem hiding this comment.
Yes. The orcidio_support setting is a top-level setting, which may very well be set while no imports are configured. Hence the check on project.import_group here.
The inline documentation for the `orcidio_support` option is the only real user-facing documentation we currently have, so it should give a better idea of what the option actually does.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR adds automatic support for importing the ORCIDIO “ontology” (INCATools/ontology-development-kit#1312).
It adds a new project-level configuration option:
orcidio_support. When enabled, it creates a custom import module for ORCIDIO ($(IMPORTDIR)/orcidio_import.owl), which is generated by (1) extracting all ORCID references in IRI-valued annotations within the source ontology and (2) extracting all individuals corresponding to the referenced ORCIDs from the ORCIDIO ontology.