Skip to content

Refactor support for orcidio as a new type of module. - #24

Open
gouttegd wants to merge 1 commit into
allow-exclude-import-from-merged-modulefrom
refactor-orcidio-support
Open

Refactor support for orcidio as a new type of module.#24
gouttegd wants to merge 1 commit into
allow-exclude-import-from-merged-modulefrom
refactor-orcidio-support

Conversation

@gouttegd

@gouttegd gouttegd commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

(This PR is built on top on #23.)

Now that we can exclude individual import modules from the merged module, we no longer need to treat ORCIDIO as a completely ad-hoc thing, that is neither an import nor a component. Instead, we can treat merely as a type of import module.

That is, instead of

orcidio_support: true

the configuration should now be

import_group:
  products:
    - id: orcidio

We automatically recognise orcidio as a module of type orcidio, which can then be treated as any other import module – allowing us to remove most of the orcidio-specific code everywhere: all we need to keep is the custom rule to create the import module itself.

Just in case someone would want to import a module called orcidio that is not, in fact, the ORCIDIO from https://w3id.org/orcidio/, we don't do anything special if the module is declared with an explicit import type. For example:

import_group:
  products:
    - id: orcidio
      module_type: slme

This would be treated as a standard SLME module from an hypothetical orcidio ontology (which would here be expected to be located at http://purl.obolibrary.org/obo/orcidio.owl, since there's no mirror_from).

When base merging is enabled, the ORCIDIO module is automatically excluded from the merged module, since it requires its own extraction method.

Now that we can exclude individual import modules from the merged
module, we no longer need to treat ORCIDIO as a completely ad-hoc thing,
that is neither an import nor a component. Instead, we can treat merely
as a type of import module.

That is, instead of

```yaml
orcidio_support: true
```

the configuration should now be

```yaml
import_group:
  products:
    - id: orcidio
```

We automatically recognise `orcidio` as a module of type `orcidio`,
which can then be treated as any other import module -- allowing us to
remove most of the orcidio-specific code everywhere: all we need to keep
is the custom rule to create the import module itself.

Just in case someone would want to import a module called `orcidio` that
is _not_, in fact, the ORCIDIO from `https://w3id.org/orcidio/`, we
don't do anything special if the module is declared with an explicit
import type. For example:

```yaml
import_group:
  products:
    - id: orcidio
      module_type: slme
```

This would be treated as a standard SLME module from an hypothetical
`orcidio` ontology (which would here be expected to be located at
`http://purl.obolibrary.org/obo/orcidio.owl`, since there's no
`mirror_from`).

When base merging is enabled, the ORCIDIO module is automatically
excluded from the merged module, since it requires its own extraction
method.
@gouttegd gouttegd self-assigned this Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant