Skip to content

ternaustralia/ontology_tern

Repository files navigation

TERN Ontology

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

Releases

The TERN Ontology makes GitHub Releases for each version. See TERN Ontology releases for a list of releases.

Source files

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:

Version control

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.

Editing the TERN Ontology

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.

Create a Python 3 virtual environment

python3 -m venv venv

Activate the virtual environment

source venv/bin/activate

Install the required packages

pip install -r requirements.txt

Run ontotools to normalize the source file for TERN Ontology

This will normalize the tern.ttl file.

ontotools file normalize docs/tern.ttl

Run ontotools to normalize the source file for TERN Ontology TERN Ontology SHACL shapes

This will normalize the tern.shacl.ttl file.

ontotools file normalize docs/tern.shacl.ttl

Making modifications

  • 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.

License

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.

Contact

TERN Support
esupport@tern.org.au