The TERN Ontology is an OWL Ontology with SHACL profiles to facilitate the representation of ecological site-based survey and opportunistic observation data. The TERN Ontology is used as a common information model to represent and facilitate the sharing of survey data across different systems.
View classes: https://linkeddata.tern.org.au/viewers/tern-ontology
Online documentation: https://linkeddata.tern.org.au/information-models/tern-ontology
Specification document: https://ternaustralia.github.io/ontology_tern
The TERN Ontology makes GitHub Releases for each version. See TERN Ontology releases for a list of releases.
Source files are maintained as RDF Turtle files, and they are located in the docs/ directory as files ending in .ttl
.
Only edit the source files in TopBraid Composer.
Source files:
- docs/tern.profile.ttl TERN Ontology Profiles declaration
- docs/tern.ttl TERN Ontology in OWL
- docs/tern.shacl.ttl TERN Ontology's SHACL shapes
- docs/tern.ecoplots.shacl.ttl TERN Ontology's EcoPlots' SHACL shapes
- docs/meta.shapes.ttl TERN Ontology's meta SHACL shapes
The main branch (master) is the working branch of the TERN Ontology. Changes must be made in another branch, along with a GitHub pull request to merge into the main branch.
Each push to a branch will trigger GitHub Actions to run validations and tests. These validations and tests must pass before merging the branch into the main branch.
We use ontotools, a Python command line application to normalise the source files.
Ensure the following instructions are performed whenever edits are made to the source files before committing to git.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
This will normalize the tern.ttl
file.
ontotools file normalize docs/tern.ttl
This will normalize the tern.shacl.ttl
file.
ontotools file normalize docs/tern.shacl.ttl
- Bump the version number in the ontology, the version information, and the modified date.
- Enter the new changes into
CHANGELOG.md
following the conventions of semantic versioning.
Each version should:
- List its release date in the above format.
- Group changes to describe their impact on the project, as follows:
Added
for new features.Changed
for changes in existing functionality.Deprecated
for once-stable features removed in upcoming releases.Removed
for deprecated features removed in this release.Fixed
for any bug fixes.Security
to invite users to upgrade in case of vulnerabilities.
The contents of this repository is made available for use under the Creative Common Attribution 4.0 International (CC BY 4.0). See the LICENSE file for the deed.
TERN Support
esupport@tern.org.au