Repository structure
The main kinds of files in the repository:
- Release files
- Imports
- Components
Release files
Release file are the file that are considered part of the official ontology release and to be used by the community. A detailed description of the release artefacts can be found here.
Imports
Imports are subsets of external ontologies that contain terms and axioms you would like to re-use in your ontology. These are considered "external", like dependencies in software development, and are not included in your "base" product, which is the release artefact which contains only those axioms that you personally maintain.
These are the current imports in ZP
Import | URL | Type |
---|---|---|
zfa | http://purl.obolibrary.org/obo/zfa.owl | None |
caro | http://purl.obolibrary.org/obo/caro.owl | None |
go | http://purl.obolibrary.org/obo/go.owl | None |
ro | http://purl.obolibrary.org/obo/ro.owl | None |
chebi | https://raw.githubusercontent.com/obophenotype/chebi_obo_slim/main/chebi_slim.owl | None |
bspo | http://purl.obolibrary.org/obo/bspo.owl | None |
pato | http://purl.obolibrary.org/obo/pato.owl | None |
mpath | http://purl.obolibrary.org/obo/mpath.owl | None |
bfo | http://purl.obolibrary.org/obo/bfo.owl | None |
Components
Components, in contrast to imports, are considered full members of the ontology. This means that any axiom in a component is also included in the ontology base - which means it is considered native to the ontology. While this sounds complicated, consider this: conceptually, no component should be part of more than one ontology. If that seems to be the case, we are most likely talking about an import. Components are often not needed for ontologies, but there are some use cases:
- There is an automated process that generates and re-generates a part of the ontology
- A part of the ontology is managed in ROBOT templates
- The expressivity of the component is higher than the format of the edit file. For example, people still choose to manage their ontology in OBO format (they should not) missing out on a lot of owl features. They may choose to manage logic that is beyond OBO in a specific OWL component.