Closed CooperStansbury closed 5 years ago
@grosscol two ideas for a fix, leaning towards (1).
Maintain imported terms in our active ontology - rely on applications to resolve purls that exist in the owl file via owl:imports.
Use the psdo-edit.owl
and psdo.owl
paradigm. Maintain a 'developer' file in the repo (psdo-edit.owl
) and resolve import chain as part of the release process. psdo.owl
would contain all classes from all import sources. Applications resolve purls in that file, but can ignore owl:imports.
Maintaining copies of the imported terms to avoid using owl:import
is one way to go.
I don't really understand what the ontology-edit.owl
and ontology.owl
solved. My impression was that having a master branch and development branches solves most of what that -edit
system has been used for.
You could make a mireot of all the terms you're using from other ontologies and stuff that into a file, imports/dev-references.owl
and in your catalog, point every single import to that file. Importing BFO, go load imports/dev-references.owl
. Importing MFO? go load imports/dev-references.owl
. In this way, the psdo.owl just has plain old imports. That lets those get resolved however the consumer sees fit. Maybe they have a local cache or they do some pre-processing or whatever.
It lets you develop against a single small dependency graph and that speeds up your local work with nobody looking at psdo.owl
being any the wiser. Unless they read your imports/readme.md
file or something of that nature.
Summary of changes:
mark - channel
design pattern.@grosscol no squash necessary if changes look good.