ABIS Parts
Figure 1. An overview of the major model parts of ABIS. The models shown here are detailed in the Multiple Models section. Overlaps indicated shared model elements.

1. Metadata

IRI

https://linked.data.gov.au/def/abis

Name

Australian Biodiversity Information Standard

Definition

This document is the normative specification of the Australian Biodiversity Information Standard (ABIS) and includes its authoritative statements on parts, requirements and patterns.

Created Date

2021-10-24

Modified Date

2024-10-10

Issued Date

2023-12-04

Version

2.5

Version IRI

abis:2.5

History Note

2.5 - 2024 Oct - Multiple Protocol-based models allowed
2.4 - 2024 Aug - All validators completed
2.3 - 2024 Jul - Record and Occurrence classes added in new foreground model - ABIS Catalogue
2.2 - 2024 Jul - More Patterns, improved Mappings & comprehensive Validators
2.1 - 2024 Jan - Implementation of ABIS Projects Model and ABIS Data Release Model within ABIS
2.0 - 2023 Nov - Produced by DCCEEW for initial BDR operations. Includes handling of systematic surveys and project information.
1.0 - 2022 Jun - Initial version of ABIS. Tested with SURROUND Australia Pty Ltd and used for an initial national data acquisition survey for the BDR

Creator

Originally Department of Agriculture, Water and the Environment (DAWE),
now the Department of Climate Change, Energy and the Environment (DCCEEW)

Owner

Australian Biodiversity Information Governance Group (AUSBIGG)

Publisher

Department of Climate Change, Energy and the Environment (DCCEEW)

License

Creative Commons Attribution 4.0 International (CC BY 4.0)

Contacts

AusBIGG is supported by DCCEEW’s' Biodiversity Data Repository (BDR) Team. Contact the BDR Team on bdr@dcceew.gov.au

Issue tracking of the ABIS standard is managed online at https://github.com/AusBIGG/abis/issues

Code Repository

https://github.com/AusBIGG/abis

2. Abstract

This document is the normative specification of the Australian Biodiversity Information Standard (ABIS) and includes its authoritative statements on parts, requirements and patterns.

Note

The one-stop-shop for ABIS is the ABIS Portal. It contains example data, vocabularies and validators that you can play with online, without needing to install anything. Go there if you are new to ABIS.

3. Preamble

3.1. Parts of ABIS

The Australian Biodiversity Information Standard (ABIS) is a multi-part standard and this document is its normative specification.

The other parts of ABIS are:

  • Overview Document

  • Profile Definition

  • Models

    • ABIS is made of multiple models which are listed in the Models Section but are published and maintained elsewhere

    • Both human- and machine-readable forms of all ABIS models are available

  • Vocabularies

    • ABIS, and the modes it depends on, rely on many vocabularies

    • These are described in the Vocabularies Section but are published and maintained elsewhere

  • Validators

    • Data 'shape' files that can be used with validation tooling to check conformance of data to ABIS

    • These are listed in the Validation Section but are published and maintained elsewhere

  • Mappings

    • Mappings of ABIS to/from other well-known standards or models in the same domain are given in the Mappings Section

  • Reasoning Rules

    • Machine executable rules defined in the Reasoning Rules Section that create new information from ABIS data based on logical, ontological, spatial and other reasoning

  • Data Objects

    • RDF expressions of this Standard, JSON-LD context files, examples and RDF forms of mappings etc. are given in the sections that describe the human-readable forms of those objects

3.2. Namespaces

Namespaces are used within the identifiers for model elements to ensure that they are globally unique. For example, the TERN Ontology's Sample class is identified by the IRI https://w3id.org/tern/ontologies/tern/Sample which distinguishes it from the SOSA Sample class, identified with http://www.w3.org/ns/sosa/Sample that it is based on but extends.

Namespaces are used in shortened form in documents and data by assigning them a prefix and the prefixes used in this document are given in the table below.

Prefix

Namespace

Description

abis:

https://linked.data.gov.au/def/abis/

ABIS namespace - for this Standard

proj:

https://linked.data.gov.au/def/abis/projects/

ABIS Projects Model namespace

bdr:

https://linked.data.gov.au/dataset/bdr/

BDR Dataset Namespace

dcat:

http://www.w3.org/ns/dcat#

Data Catalogue Vocabulary namespace

dr:

https://linked.data.gov.au/def/abis/data-release/

ABIS Data Release Model namespace

dt:

https://linked.data.gov.au/def/abis/datatypes/

ABIS Datatype Register namespace

dwc:

` http://rs.tdwg.org/dwc/terms/`

Darwin Core Terms namespace

ego:

https://w3id.org/idn/def/ego/

Extended Geometries Ontology

ex:

http://example.com/

Generic examples namespace - does not resolve

geo:

http://www.opengis.net/ont/geosparql#

GeoSPARQL Ontology namespace

owl:

http://www.w3.org/2002/07/owl#

Web Ontology Language ontology namespace

rdfs:

http://www.w3.org/2000/01/rdf-schema#

RDF Schema ontology namespace

sosa:

http://www.w3.org/ns/sosa/

Sensor, Observation, Sample, and Actuator (SOSA) ontology namespace

schema:

https://schema.org/

schema.org namespace

skos:

http://www.w3.org/2004/02/skos/core#

Simple Knowledge Organization System (SKOS) ontology namespace

tern:

https://w3id.org/tern/ontologies/tern/

TERN Ontology namespace

time:

http://www.w3.org/2006/time#

Time Ontology in OWL namespace

void:

http://rdfs.org/ns/void#

Vocabulary of Interlinked Data (VoID) ontology namespace

xsd:

http://www.w3.org/2001/XMLSchema#

XML Schema Definitions ontology namespace

Using the table above, the TERN Ontology's Sample class would be identified as tern:Sample and the SOSA Sample class as sosa:Sample.

Note

A JSON-LD context built from this namespaces table is available as another resource within the ABIS specification and is online at:

3.3. Terms & Definitions

The following terms & definitions are used throughout this document.

ABIS

The Australian Biodiversity Standard - the data standard this document is about

BDR

Biodiversity Data Repository - a data collection managed by the Department of Climate Change, Energy and the Environment that incorporates biodiversity observations from State & Territory jurisdictions and aims to incorporate non-government data too

Blank Node

A Blank Node is a node within RDF data that does not have a globally unique or even persistent identifier, instead it is a node that is identifiable only in relation to the other nodes in the RDF data in which it is recorded. Blank Nodes are used to convey things that are entirely dependent on, and meaningless without, other things, for example values for tern:Result classes which only mean something in relation to the tern:Observation that generated them

IRI

An Internationalized Resource Identifier is a web address-style URL that is used as an identifier for something. It may be for a real-world object, e.g. https://linked.data.gov.au/dataset/qldgeofeatures/AnakieProvince identifies the Queensland Geological Feature Anakie Province or for data only, e.g. https://w3id.org/tern/ontologies/tern/Text which identifies the class of 'Text' - textual results - within the TERN Ontology.

IRIs do not have to resolve - go somewhere online when clicked - but they do have to follow all the rules for URLs, such as no spaces.

Class

Based on the mathematical notion of a set, within formal OWL modelling, a class is a set of objects exhibiting common properties. For example, the set of all people who are studying could be defined as being within a Student class.

Knowledge Graph

A data holding that implements node-edge-node (graph) data structures. The 'knowledge' part is often taken to indicate that the graph contains refined information, not just pure, raw, data.

Linked Data

A series of technologies and methodologies for the publication of data on the Internet. Uses RDF as its underlying data structure, OWL as its data model and the common mechanics of the Domain Name System (DNS) and the Hypertext Transfer Protocol (HTTP) to identify and share its data.

OWL

The OWL 2 Web Ontology Language, informally OWL 2, is an ontology language for the Semantic Web with formally defined meaning. OWL 2 ontologies provide classes, properties, individuals, and data values and are stored as Semantic Web documents. OWL 2 ontologies can be used along with information written in RDF, and OWL 2 ontologies themselves are primarily exchanged as RDF documents. Reference: OWL2

Predicate

Predicates, within formal OWL modelling, are the defined relations between objects of different classes (see Class) and also between objects and simple data values such as numbers and dates. For example, if Person X "knows" Person Y, then we can use a predicate of knows to relate them.

Frequently we use predicates already defined in existing ontologies. "knows", for example, is defined in the schema.org ontology SDO to be "The most generic bi-directional social/work relation".

RDF

The Resource Description Framework (RDF) is a data structure for representing information on the Web. RDF is made of identified nodes linked by typed edges that form graphs. Node/edge/node associations are often called 'triples'. Reference: RDF

Semantic Web

A vision of a machine-understandable Internet, created in the year 2000, and thought to be attainable through the use of Linked Data.

SPARQL

SPARQL is a query language for RDF. SPARQL matches patterns within RDF data to extract subsets of a graph. The results of SPARQL queries can be subset graphs or data in tabular form.

3.4. Conventions

Figures

In this document, figures showing model elements use the following key:

ABIS Parts
Figure 2. Key of model figure elements. Activity, Entity and Agent are classes from The Provenance Ontology and indicate temporal events, all manner of things and people and organisations with agency, respectively. Where prefix:ElementID is used, the prefix refers to entries in the Namespaces table.

Code

Where examples of ABIS data are given in this document, RDF data serialised in the Turtle format is used. For example:

PREFIX ex: <https://example.com/dataset/>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>

ex:x
    a tern:Dataset ;
    schema:name "Dataset X" ;
    schema:hasPart <https://example.com/dataset/sample/y> ;
.

<https://example.com/dataset/sample/y>
    a tern:Sample ;
    schema:name "Sample Y" ;
.

The above example data, while invalid according to the ABIS Validator, provides a simple example of a dataset and a sample and a relationship between them, encoded in Turtle.

If prefixes - ex:, schema: and tern: in the example above - are not declared within the example, as they are here - lines starting PREFIX - then they will be found in the Namespaces table above.

4. Introduction

This document is the specification of the parts, requirements and patterns of the Australian Biodiversity Information Standard (ABIS).

The goal of ABIS is to simplify the exchange of standardised biodiversity data in Australia between data holders - States & Territories, the Commonwealth, educational and research organisations, private companies and the public - by providing a scientific observations data model and a series of additions to it that cater for institution details, data management and mappings to other information models.

ABIS uses rigorous and formal data models which means that data wanting to be compliant with it can be automatically validated using machine-readable forms of the models and validation tools. This specification indicates where the validators are and how to use them in the Validation Section.

4.1. Multiple Models

ABIS is centred on the TERN Ontology - see Figure 1 - which is a data model that represents ecological survey information. The TERN Ontology is designed in accordance with the principles of the Observations & Measurement standard ISO19156 that separates acts of observation from the results of those observations and ever-present details of the things observed.

The TERN Ontology itself inherits most of its modelling from several general-purpose and well-known Semantic Web models (ontologies), in particular:

Each of these "background models" are shown in Figure 1 and listed in the Background Models section below.

In addition to the TERN Ontology and the background models it uses, ABIS also use other "background models":

ABIS also includes additional "component models" that extend the range of things ABIS can cover:

Details of all these models are given in the Models section.

4.2. Background

Aim

ABIS was established to enable a national Biodiversity Data Repository BDR in Australia that absorbs data from a range of sources.

These data supplier sources - Australian State & Territories and other organisations such as museums, herbaria, research organisations and companies - have been collecting biodiversity data for over a century in Australia and have been doing so independently, so there is a wide range of information collected relating to where, when and how species are observed.

Since the BDR aims for a comprehensive and up-to-date data holding, it needs to be able to absorb large volumes of biodiversity data and process them quickly. Given that existing source data collections contain millions of observations, this is only achievable through automatic data processing.

To enable effective automatic processing of data - both in terms of effort and quality - common models and formats must be implemented by data suppliers who map their data holdings to a form that can be automatically assessed (validated) and processed. ABIS is that form.

History

The TERN Ontology was created in 2020 for TERN to use for their own observations Knowledge Graph.

In 2021, the BDR adopted the TERN Ontology as its base.

In 2022, the first version of ABIS was created, building on top of the TERN Ontology to cater for messaging methods and some aspects of data management, such as the withholding of data publication due to data embargoes. This version of ABIS was used to for the data acquired in November 2022 through the scan of State & Territory biodiversity observation data holdings.

At the end of 2023, version 2.0 of ABIS was created which removed all representation of messaging protocols, requirements and rules. Version 2.0 focuses on building on top of the TERN Ontology data elements used to manage and provide access to expected BDR data holdings.

4.3. Governance

ABIS is managed day-to-day by the Department of Climate Change, Energy, the Environment and Water (DCCEEW) however many parts of ABIS are maintained externally, such as the TERN Ontology which is maintained by TERN.

To contact the ABIS managers, please see use the following details:

BDR Team
Biodiversity Information Section
Department of Climate Change, Energy, the Environment and Water
https://www.dcceew.gov.au
bdr@dcceew.gov.au

Governance of ABIS is undertaken by AusBIGG, the Australian Biodiversity Information Governance Group, which comprises DCCEEW, State & Territory biodiversity data holders and other organisations in the sector, such as TERN.

As of 2023, the processes for maintaining and extending ABIS are not fully established with AusBIGG still coming to understand ABIS' uses and its place in the landscape of international biodiversity observation data models, such as GBIF’s New Data Model.

An Issue Tracker for this document and for any other aspects of ABIS is public and online at: https://github.com/AusBIGG/abis/issues. Anyone with an interest in ABIS is invited to submit Issues there to be considered by ABIS management & governance parties.

ABIS comprises multiple models and some of them inherit from other models and standards. See the Models section for details.

Additionally, ABIS exists within a domain that already contains many international and national standards and well-known models. The Mappings section described how ABIS relates to many of them.

4.5. Structure

This specification aims to cover all the information needed to understand ABIS and use it. The following is a list of the major sections in this document and their purposes.

  1. Introduction

    • This section. An informal overview of ABIS

  2. Patterns

    • Descriptions of important modelling choices made in ABIS and the models it inherits from

  3. Models

    • The normative description of the data models used within ABIS

  4. Vocabularies

    • Description of, and links to, the vocabularies needed for use with ABIS

  5. Profiles

    • A listing of known profiles of ABIS

  6. Validation

    • How to validate data according to ABIS and links to the various validators

  7. Mappings

    • Human- and machine-readable mappings between ABIS and other standards within ABIS' domain

  8. Reasoning Rules

    • Machine-executable rules that can be applied to ABIS data to infer further information

Two additional models - extensions to ABIS - are defined in this document:

Extended examples TERN Ontology data, in use within ABIS, are given in Annex C.

5. Patterns

This section describes some modelling patterns implemented in ABIS. Most of these patterns are inherited from the models that ABIS profiles.

5.1. Set Modelling

The most basic pattern used by this model and all the OWL-based models it profiles is that of Set Theory modelling, that is, modelling according to the mathematical notion of sets.

The basic principles are that things - all things - can be modelled as atomic objects and groups of objects known as sets. The basic object/set relations (membership of an object within a set) and set/set relations (union, intersection, disjoint etc.) are likely familiar to all Australian high school graduates.

In OWL modelling, objects are usually called Named Individuals or Instances and sets are called Classes.

The set of all people, the class Person is defined like this:

ex:Person
    a owl:Class ;
    schema:name "Person" ;
    schema:description "Persons are individuals of the species Homo sapiens" ;
.

Nicholas Car is an object in the set of Person so, in OWL modelling, Nicholas Car is a Named Individual of type Person:

ex:nicholasCar
    a ex:Person ;
    schema:name "Nicholas Car" ;
    schema:description "Nicholas is a Person, born in South Africa, now living in Brisbane" ;
.

Subsetting is very important in OWL: Nicholas Car might also be an Engineer where Engineer is defined as a subset of Person. This means every Engineer is also a Person but not all Person objects are Engineers:

ex:nicholasCar
    a ex:Engineer ;
    schema:name "Nicholas Car" ;
    schema:description "Nicholas is an Engineer, born in South Africa, now living in Brisbane" ;
.

ex:Engineer rdfs:subClassOf ex:Person .

In OWL modelling, classes may be seen by grouping instances with similar properties. Nicholas Car might be understood to be an Australian by virtue of the predicate citizenship being given for him indicating Australian:

ex:nicholasCar
    a ex:Person ;
    schema:name "Nicholas Car" ;
    ex:citizenship ex:Australian ;
.

The figure below shows Nicholas Car, the individual, declared as a Person, and Engineer and understood to be an Australian.

Set Modelling
Figure 3. Set Modelling using OWL: The Named Individual Nicholas Car and three Classes he is a member of and which are subclasses of others.

In the domain of ABIS, all animals living in the sea constitute the class marine animals and there are intersecting classes of terrestrial animals for things like crabs and penguins that live both in the sea and on land.

5.2. Identifiers

All complex objects in OWL modelling - classes, predicates and instances of classes - are identified either with an IRI or a Blank Node. Classes and predicates defined in ABIS or inherited from models it profiles use the identifiers for them given in this document. Instances of classes, for example a particular sample, Sample Y of the class tern:Sample, are identified by IRIs assigned to them often deriving from the IRI of the dataset in which they are first presented. If the instance is referred to again later - perhaps further observations were made on the sample - then the original identifier for the object is still used to allow linking of information. An example for Sample Y in Dataset X which also contains Observation Z:

<http://example.com/dataset/x>
    a tern:Dataset ;
    schema:hasPart
        <http://example.com/dataset/x/sample/y> ,
        <http://example.com/dataset/x/obs/z> ;
    dcterms:title "Dataset X" ;
.

<http://example.com/dataset/x/sample/y>
    a tern:Sample ;
    dcterms:title "Sample Y" ;
.

<http://example.com/dataset/x/obs/z>
    a tern:Observation ;
    sosa:hasFeatureOfInterest <http://example.com/dataset/x/sample/y> ;
    sosa:hasResult [
        a sosa:Result ;
        schema:value 42 ;
        schema:unitCode unit:PPM ;
    ] ;
    dcterms:title "Observation Z" ;
.

In the above example data, Dataset X - http://example.com/dataset/x - contains Sample Y - http://example.com/dataset/x/sample/y - and Observation Z - http://example.com/dataset/x/obs/z - was on the sample. The demonstration IRIs clearly all build on Dataset X’s.

The result of the observation - the value 42 parts per million uses a Blank Node, not an IRI, for identity which is essentially an unknown ID. This is because there’s no point in referring to the Result other than via the Observation that recorded it, so no IRI is ever needed to directly refer to it from elsewhere. The Blank Node is seen here in the Turtle syntax of RDF with information given between [ & ].

IRI identifiers for datasets take the form https://{IRI-STEM}/{DATASET-ID} and act as a unique namespace for objects within it. If Dataset abc-123-def-456 contained Sample Y, we may have the following identifiers:

  • Dataset abc-123-def-456: https://example.com/dataset/abc-123-def-456

    • Dataset X’s Namespace: https://example.com/dataset/abc-123-def-456/ - ending in a '/'

  • Sample Y: https://example.com/dataset/abc-123-def-456/sample/y

    • Uses the Dataset Namespace and a class identifier (optional) of 'sample' and an ID for the particular sample - 'y'

    • Datasets can create identifiers for their elements, within their namespace however they like

It is likely that initiatives will be created to manage data for Sites, Samples or other classes of object that ABIS knows about. If so, these initiatives might issue identifiers for those things and, if they do, those identifiers should be used. See the next section for how.

5.2.1 Alternate Identifiers

Many objects represented using ABIS will usefully have external identifiers recorded, for example, samples with museum IDs or catalogue numbers. All forms of such identifiers SHOULD be recorded and how they are recorded and used depends on their type.

Alternate IRIs

If an object already has an IRI identifier, and that identifier responds to Linked Data operations, it SHOULD be used as the primary identifier of the object.

If an object has a Linked Data IRI assigned to it AND another assigned to it within an ABIS data generation process, perhaps automatically, the two IRIs should be linked like this:

<{ORIGINAL-IRI}> owl:sameAs <{NEW-IRI]}>

Here the OWL predicate owl:sameAs indicates the two IRIs identify the same thing.

If an object has an IRI assigned to it that does not link to RDF data, it should be recorded in the following manner:

<{NEW-IRI]}>
    schema:identifier "{ORIGINAL-IRI}"^^{CUSTOM-DATATYPE} ;
    ...  # other properties
.

Here the {ORIGINAL-IRI}, since it does not act as a Linked Data IRI, is indicated as being a literal of a specialised data type - {CUSTOM-DATATYPE}.

If the datatype of the {ORIGINAL-IRI} is of a known form, such as a DOI or IGSN, then that type might be found in the BDR Datatypes vocabulary at https://vocabs.bdr.gov.au, and it should be used. If its type is not known or is a generic URL, the type xsd:anyURI should be used like this:

<{NEW-IRI]}>
    schema:identifier "{ORIGINAL-IRI}"^^xsd:anyURI ;
    ...  # other properties
.

All special IRI types, such as DOI, should be recorded in the BDR Datatypes vocabulary

Alternate IDs - non-IRIs

Alternate identifiers for objects that are not IRIs/URLs MUST have their identifier regime indicated. For example, if Museum X issues identifiers for samples and Sample Y has an issued identifier of SAM-Y1234, then this should be given like this:

<{SAMPLE-IRI]}>
    a tern:Sample ;
    schema:identifier "SAM-Y1234"^^ex:museum-x-id ;
    ...  # other properties
.

…​where {SAMPLE-IRI} is an IRI assigned to the sample and the predicate schema:identifier is used to give the literal identifier value of SAM-Y1234 which has the datatype ex:museum-x-id indicated.

Note

The Biodiversity Data Repository requires that all non-IRI alternate IDs used in submissions of data to it be registered within its BDR Datatypes vocabulary.

Multiple alternate identifiers may be given, as long as their datatypes are unique:

<{SAMPLE-IRI]}>
    a tern:Sample ;
    schema:identifier
        "SAM-Y1234"^^ex:museum-x-id ,
        "1073/SAMY"^^ex:igsn ;
    ...  # other properties
.

5.3. Data Cataloguing

ABIS provides representations of chunks of data for management - cataloguing, data governance and so on. It does this by implementing a very simple, and common, catalogue model which consists of catalogues (or catalogs, for Americans) that contain datasets or other kinds of resources such as vocabularies. ABIS then insists that datasets must, in turn, contain biodiversity records for records of such as what ABIS is all about.

This models is as per Figure 4, below, which is taken from the Biodiversity Record Model, detailed in full in Annex A.

Since this model is used for data management, it places requirements on ABIS datasets, above and beyond those imposed by the models it profiles, such as the TERN Ontology, to ensure all ABIS data has a minimum level of metadata present. See the BDR Profile of ABIS' Model Element Mandates for specifics.

Biodiversity Record Model overview
Figure 4. An overview of the Biodiversity Record Model’s classes and their relationships

implemented by schema.org and the Data Catalog Vocabulary (DCAT) which consists of

5.4. Records & Occurrences

ABIS is fundamentally about records of the occurrence of biodiversity. For this reason, ABIS contains representations of chunks of data, as per the Data Cataloguing pattern above, a representation of an occurrence and a mechanism to link them.

The ABIS class BiodiversityRecord represents a single recording of an occurrence or recording of the results of a survey. This is usually a single row in a spreadsheet of biodiversity observations, or a single point of a map of occurrences. It is linked to the representation of actual occurrence itself, represented by the Darwin Core Terms's Occurrence class.

The reason for this distinction between representations of the record of the occurrence and the occurrence itself is because some data models record metadata about the recording itself - who did it, where it is stored and managed, what ID the recording has etc. - and some don’t, choosing to focus only on the where/what/when of the occurrence.

Note

For data in the ABIS format being submitted to systems such as the Biodiversity Data Repository where the data origin has a "Record ID" or similar, this ID should be preserved as a property of instances of the Biodiversity Record class as a non-IRI alternate identifier, as per the Alternate IDs - non-IRIs pattern.

The relationship between a Biodiversity Record and the Occurrence it is about is given with the schema:about predicate, like this:

ex:record-1234
    a abis:BiodiversityRecord
    # ... other info
    schema:about ex:occurrence-9876 ;  # <-- this is the link
.

ex:occurrence-9876
    a dwc:Occurrence ;
    schema:spatial [
        geo:hasGeometry [
            a geo:Geometry ;
            geo:asWKT "POINT (...)" ;
        ] ;
    schema:temporal [
        time:hasTime "2024-07-29" ;
    ] ;
    # ... other info
.

5.5. Spatially

ABIS inherits its spatial modelling from GeoSPARQL, as does the TERN Ontology.

Patterns:

5.5.1. Feature-centric

GeoSPARQL uses a "feature-centric" method of spatial modelling which means spatial things are represented as conceptual things first - spatial features - and then a spatial projection or representation - geometry - is linked to it. This is different to some GIS systems that model spatial things as geometries first and then apply properties to them.

Basic GeoSPARQL
Figure 5. A Feature, such as a Site, can be assigned a Geometry with any one of a number of representations. ABIS prefers the Well-Known Text representation of coordinates.

The RDF data for the example above is:

PREFIX ex: <http://example.com/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>

ex:site-x
    a tern:Site ;
    schema:name "Site X" ;
    geo:hasGeometry [
        a geo:Geometry ;
        schema:name "Geometry X1" ;
        geo:asWKT "POLYGON ((...))"^^geo:wktLiteral ;
    ] ;
.

5.5.2. ABIS spatial objects

There are multiple classes of spatial objects in ABIS. The following are always spatial, even when their spatial values - their geometries - are unknown:

  • Observation

  • Site

  • Sample - where the sample was collected from, not where it is now

For these classes of object, we expect to see instances of them to be associated with geometries, if known.

The following classes of object are either given as spatial - a geometry is provided - or for their spatial values to be inferred from child object geometries - see Aggregation Reasoning below:

  • tern:Dataset

  • Survey

A Survey might have its spatial extent recorded directly or taken to be the envelope of the locations of the Observations it contains. Similarly, an tern:Dataset will either have an extent - the extent of all the data within it - given or calculated from its contained objects, which may be Sites, Sample, Survey or Observation instances, or all of them.

5.5.3. Qualified Geometries

This feature-centric model allows for multiple or no geometries per spatial object which can be very powerful. The figure below gives several examples of a spatial Feature with multiple Geometries that differ different ways. The pattern here is "qualification": when a Feature is assigned multiple Geometries, they must be differentiable in some way, either by having different geometry types (point, polygon etc.) or by having different roles with respect to the Feature or by each Geometry indicating a different temporal footprint. These differentiations qualify the Geometries with respect to the Feature.

Basic PROV classes and predicates
Figure 6. Spatial Features and Geometries as modelled in the GeoSPARQL ontology with subfigure A. showing a Site feature that has two geometries provided for it: a Point and a Polygon. These could respectively represent the site’s centroid and is boundary and are differentiable by geometry type. Subfigure B. shows a feature - Saint Helena Island - with two boundary polygonal geometries differentiated by role. Subfigure C. shows a time-varying feature, a cyclone, with multiple geometries differentiated by time. Data for B. is given in the ABIS repository at https://github.com/AusBIGG/abis/tree/master/examples - see the file pattern-spatiality-saint-helena-island.

5.5.4. Centroid & Bounding Box

Pomingolarna site example
Figure 7. The field site 'Pomingolarna' with bounding box, boundary and centroid geometries indicated

While it is possible to supply point and polygon geometries for a spatial object’s centroid, boundary and bounding box, a centroid and a bounding box are calculable from a boundary and should not be supplied if the boundary is known: ABIS data users, such as the BDR, will calculate them as needed. This rule is listed in ABIS' Reasoning Rules section. In the image above, the bounding box and centroid have been calculated from the boundary.

If only a centroid or a bounding box is known for a spatial object, then specific predicates from GeoSPARQL - geo:centroid & geo:hasBoundingBox - should be used to indicate that this is the type of geometry known, as opposed to a boundary or a general point for a point location which are indicated with the general-purpose geo:hasGeometry predicate. The RDF data example below is the data for the image above showing the predicates in use.

PREFIX ex: <http://example.com/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>

ex:pomingolarna
    a tern:Site ;
    schema:name "Pomingalarna Bushland Site" ;
    geo:hasCentroid [
        geo:asWKT "POINT (147.300797 -35.113046)" ;
    ] ;
    geo:hasGeometry [
        geo:asWKT "POLYGON ((147.294576 -35.101881, 147.299386 -35.102425, 147.303469 -35.106577, 147.302879 -35.109889, 147.305057 -35.111953, 147.307076 -35.113405, 147.311296 -35.113541, 147.310887 -35.115810, 147.311772 -35.115991, 147.310093 -35.117738, 147.310071 -35.117398, 147.309118 -35.116967, 147.308460 -35.117262, 147.308006 -35.118147, 147.307938 -35.120438, 147.308120 -35.120869, 147.308278 -35.122434, 147.308324 -35.123387, 147.306849 -35.123569, 147.306350 -35.123387, 147.304558 -35.123092, 147.302743 -35.122548, 147.301473 -35.121844, 147.300293 -35.121073, 147.292240 -35.113042, 147.294576 -35.101881))" ;
    ] ;
    geo:hasBoundingBox [
        geo:asWKT "POLYGON ((147.292240 -35.123569, 147.311772 -35.123569, 147.311772 -35.101881, 147.292240 -35.101881, 147.292240 -35.123569))" ;
    ] ;
.

5.5.5. Geometry Literals

ABIS only allows for Well-Known Text representations of geometries indicated by the geo:asWKT predicate. No other forms of geometry literal, e.g. GeoJSON, may be used.

ABIS will infer that any literal object indicated with the geo:asWKT predicate is of the datatype geo:wktLiteral and the literal typing need not be supplied. It may also be supplied so the following are treated as equivalent:

geo:asWKT "POINT (147.300797 -35.113046)" ;

geo:asWKT "POINT (147.300797 -35.113046)"geo:wktLiteral ;

This is as per a rule in the Spatial Reasoning part of the rules section.

5.5.6. Coordinate System

All spatial data supplied according to ABIS MUST use the GDA2020 Coordinate Reference System. Systems such as WGS84, GDA94 or others MUST NOT be used.

Since spatial data formulated according to GeoSPARQL only use the Well-Known Text format - see the Geometry Literals section above - and that format defaults to OGC:CRS84, the use of GDA2020 must be indicated in the WKT, as per the GeoSPARQL WKT guidance using the IRI http://www.opengis.net/def/crs/EPSG/0/7844 or https://epsg.io/7844 for the CRS. Remember when converting from OGC CRS84 (the default WKT crs) to GDA2020 the axis order must also be reversed. For example, a POINT at (123.0 -45.0) would have WKT like this:

"<https://epsg.io/7844> POINT (-45.0 123.0)"geo:wktLiteral

5.5.7. Aggregation Reasoning

ABIS contains rules that will perform spatial reasoning on data. For example, if a dataset is presented that contains a Survey which, in turn, contains a series of Observation instances with their spatial locations indicated, the spatial extent of the Survey will be taken to be at least the area containing the Observation locations. The dataset’s extent will be at least the boundary of all contained Survey instances areas. Spatial reasoning like this and other reasoning are related in ABIS' Reasoning Rules section.

The figure below shows a boundary calculated for a series of point locations. The boundary could be the extent of a Survey for Observation point locations and this type of boundary - a convex hull - is the minimum non-concave area containing all points.

Convex hull for points
Figure 8. A convex hull boundary - in green - calculated for a series of point locations - in yellow.

5.5.8. Feature relations

In addition to associating spatial Features with one or more Geometries, GeoSPARQL, and thus ABIS, allows for Feature-to-Feature (topological) spatial relations between pairs of Features to be recorded. There are multiple allowed relation families in GeoSPARQL but ABIS prefers use of the https://opengeospatial.github.io/ogc-geosparql/geosparql11/spec.html#simple_features_relation_family[_Simple Features relations] which are summarised as follows:

Name GeoSPARQL Predicate Meaning

equals

geo:sfEquals

The spatial extents of the two objects are exactly the same

disjoint

geo:sfDisjoint

The spatial extents of the two objects do not touch or overlap

intersects

geo:sfIntersects

The spatial extents of the two objects have at least one point in common

touches

geo:sfTouches

The spatial extents of the two objects have at least one point in common, but their interiors do not intersect (i.e. only their boundaries intersect)

within

geo:sfWithin

The spatial extent of the first object is wholly contained by the spatial extent of the second object

contains

geo:sfContains

The spatial extent of the first object wholly contains the spatial extent of the second object (i.e. the inverse of within)

overlaps

geo:sfOverlaps

The spatial extents of the two objects have some, but not all, points in common, and the dimensions of the intersection are the same as those of the objects

crosses

geo:sfCrosses

The spatial extents of the two objects have some, but not all, interior points in common and the dimensions of intersection is less than the dimensions of at least one of them (i.e. two 2-D areas' intersection is a 1-D line or two lines' intersection is a 0-D point)

The most commonly used spatial relations are contains/within and overlaps. Here are some examples of Feature-to-Feature relations for real and example Features:

PREFIX ex: <http://example.com/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>

# Australia, according to the Australian Bureau of Statistics' ASGS Linked Data dataset
<https://linked.data.gov.au/dataset/asgsed3/AUS/AUS>
    a geo:Feature ;
    schema:name "Australia" ;
    geo:sfContains
        <https://linked.data.gov.au/dataset/asgsed3/STE/8> ,  # ACT
        <https://linked.data.gov.au/dataset/asgsed3/STE/1> ,  # NSW
        <https://linked.data.gov.au/dataset/asgsed3/STE/7> ,  # NT
        # ...
        <https://linked.data.gov.au/dataset/asgsed3/STE/2> ;  # Victoria
.

<https://linked.data.gov.au/dataset/asgsed3/STE/1>  # NSW
    a geo:Feature ;
    schema:name "New South Wales" ;
    geo:sfWithin <https://linked.data.gov.au/dataset/asgsed3/AUS/AUS> ;
.

# An example Site within NSW
ex:site-x
    a tern:Site ;
    schema:name "Site X" ;
    geo:sfWithin <https://linked.data.gov.au/dataset/asgsed3/STE/1> ;
.
# ex:site-x geo:sfWithin <https://linked.data.gov.au/dataset/asgsed3/AUS/AUS>
# can be inferred from the site being within NSW being within Australia

# NSW & Victoria touch along their common border
<https://linked.data.gov.au/dataset/asgsed3/STE/1>
    geo:sfTouches <https://linked.data.gov.au/dataset/asgsed3/STE/2> ;
.

GeoSPARQL provides function definitions for the calculation of Feature-to-Feature relations from geometry data and all compliant implementations of GeoSPARQL allow these calculations to result in declarations of equivalent predicates. So if object A is calculated as being within object B, then the RDF triple <A> geo:sfWithin <B> may be recorded.

5.5.9. Elevation & Depth

Absolute

If the absolute elevation or depth of an object needs representation, the 2D + Z forms of Well-Known Text representation of a geometry should be used: POINTZ, LINESTRINGZ & POLYGONZ.

For example, if Observation N was made at longitude 147.308040 E, latitude 35.121824 S at an elevation of 234 metres, POINTZ should be used like this:

PREFIX ex: <http://example.com/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>

ex:obs-n
    a tern:Observation ;
    schema:name "Observation N" ;
    geo:hasGeometry [
        geo:asWKT "POINTZ(147.308040 -35.121824 234)" ;
    ] ;
.

Depth should be similarly indicated with a POINTZ WKT representation with the Z value given as a negative, i.e. 20m below sea level should be -20.

Relative

If relative elevation or depth needs representation, the schema.org schema:elevation & schema:depth should be used.

For example, if a Sample is obtained 3m below ground surface at longitude 147.308040 E, latitude 35.121824 S, it should be recorded like this:

PREFIX ex: <http://example.com/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>

ex:obs-n
    a tern:Observation ;
    schema:name "Observation N" ;
    geo:hasGeometry [
        geo:asWKT "POINT(147.308040 -35.121824)" ;
    ] ;
    schema:depth [
        schema:value 3 ;
        schema:unitCode <https://qudt.org/vocab/unit/M> ;  # QUDT's IRI for metre
    ] ;
.

Elevation and depth values should use positive numbers only.

If a simple value for depth is given, e.g. ex:obs-n schema:depth 3, this will be interpreted as being in metres.

5.6. Temporality

Feature-centric

ABIS inherits its temporal modelling from the Time Ontology. The TERN Ontology uses the Time Ontology in places and used direct time representations elsewhere. This may be harmonised in the future.

ABIS uses a feature-centric approach for temporality, just as it does with spatiality. Just as per <GSP, GeoSPARQL>> where spatial objects are conceptual things with associated geometries, following OWL TIME, temporal objects are conceptual things with associated temporal "geometries" or temporal footprint.

Where for spatial objects we link a Feature to a Geometry which in turn links to a literal representation of the spatial footprint, say a Well-Known Text polygon, for temporal objects we link the temporal feature to a time:TemporalEntity, the equivalent of a temporal geometry, which is either a time:Instant or a time:Interval` which then contains dates, date/times etc.

The following code shows several example Survey instances, which are temporal features, linked to different temporal entities. The selection of particular temporal entities will come down to what is known about the Survey.

PREFIX ex: <http://example.com/>
PREFIX schema: <https://schema.org/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
PREFIX time: <http://www.w3.org/2006/time#>

# Survey X started on the 15th of March, 1987
# and ended on the 23 of March, 1987
ex:survey-x
    a tern:Survey ;
    schema:name "Survey X" ;
    time:hasTime [
        time:hasBeginning [ time:inXSDDate "1987-03-15" ] ;
        time:hasEnd [ time:inXSDDate "1987-03-23" ] ;
    ] ;
.

# We only know Survey Y occurred in April, 2010
ex:survey-y
    a tern:Survey ;
    schema:name "Survey Y" ;
    time:hasTime [
        time:inXSDgYearMonth "2020-04"
    ] ;
.

# Survey Z is on-going or at least
# we don't know if/when it ended as only
# a beginning date is given
ex:survey-z
    a tern:Survey ;
    schema:name "Survey Z" ;
    time:hasTime [
        time:hasBeginning [ time:inXSDDateTime "2023-12-10T14:30:00" ] ;
    ] ;
.

Date & Time representations

OWL TIME allows a number of data and time literal representations for date/time instants and any may be used: use the one that best corresponds with the reality of the thing you are modelling. The code example above shows three different ones in use: xsd:date, xsd:gYearMonth and xsd:dateTime.

The following table gives a list of date/time data types and the OWL TIME predicate used to indicate them. Format values in the table below use the codes from https://strftime.org/, for example %Y is "Year with century as a decimal number" e.g. 2013, not 13.

Datatype Indicating Predicate Format Example Use

xsd:dateTimeStamp

time:inXSDDateTimeStamp

%Y-%m-%dT%H:%I:%S%z

2013-07-24T15:17:12.55+1000

To indicate a time - to the second or part of a second - with a known timezone

xsd:dateTime

time:inXSDDateTime

%Y-%m-%dT%H:%I:%S

2013-07-24T15:17:12.55

To indicate a time - to the second or part of a second - without a known timezone

xsd:date

time:inXSDDate

%Y-%m-%d

2013-07-24

To indicate a date with time unknown or irrelevant

xsd:gYearMonth

time:inXSDgYearMonth

%Y-%m

2013-07

To indicate a month in a particular year

xsd:gYear

time:inXSDgYear

%Y

2013

To indicate a year

Note that when you use the predicates listed in the table above, ABIS will infer the datatype of the object indicated by the predicate and give an error if the data cannot be parsed as that datatype. You do not need to specify the datatype but you must get the format correct.

Note

Models that ABIS inherits from sometimes include seemingly arbitrary data/time restrictions, such as SOSA requiring that a sosa:resultTime` only be used to indicate an xsd:dateTime. ABIS ignores such restrictions: you may use the date or time representation best suited to convey the real-world reality of your objects' temporality of any temporal indication predicate.

5.7. Provenance

How things derive from other things, when and where this occurs and who may be responsible for actions is the domain of the Provenance Ontology (PROV) which is one of ABIS’s Background Models.

PROV’s basic classes and the predicates that relate them to one another are given below.

Basic PROV classes and predicates
Figure 9. Basic PROV classes and predicates

Many of ABIS' models follow on from the pattern in the figure above and many figures further down in this document are coloured according to PROV’s basic classes. For example, the TERN Ontology's Sampling class is a subclass of PROV’s Activity class and instances of it may have used an instance of a Site, which is a subclass of PROV’s Entity, to have generated an instance of the class Sample which is another subclass of Entity.

The figures in the Observations & Results and the Feature of Interest patterns use this colouring.

PROV’s provenance reasoning is also applicable to parts of ABIS. For example, the Projects Model indicates that instances of its Project class, which is a subclass of PROV’s Activity, can have generated instances of the TERN Ontology's tern:Dataset class, which is a subclass of PROV’s Entity, and may have been associated with an Agent - an Organisation or Person. If so, then the resulting tern:Dataset instances will be able to have an attributional relationship to the Agent instance calculated. This is shown in the figure below.

PROV-style reasoning
Figure 10. PROV-style reasoning using facts given in the Projects Model

5.8. Agents

Things with agency to do work such as Organisations, People, Groups (of orgs and people) and perhaps software systems - are modelled as Agents in many Semantic Web and Knowledge Graph systems. In ABIS, we follow the general pattern for Agents outlined in the Provenance Ontology (PROV), see the section above.

In addition to the simple and direct kind of relationship between Agents and data (Entities) show above in Figure 9 where an Entity can be attributed to an Agent, we use a nuanced version of that was attributed to relationship, qualified attribution, which is also defined in PROV. qualified attribution is a type of qualified relation which means it relates two things together with qualifying facts. While these qualifying facts can be anything, in ABIS, the expected qualifier is a role: a role that the Agent plays with respect to the Entity. For example, for a dataset, one Agent might be the author of the data, another the publisher. This could be modelled as in Figure 10, below.

PROV-style reasoning
Figure 11. Two Agents, Y & Z, related to a single dataset X with different roles using the qualified attribution predicate from PROV

The roles that can be used for the qualification of attribution in ABIS are open-ended - new ones can be defined - but they are controlled - they must be proposed and accepted into a vocab to be legitimate. The vocab ABIS uses for these roles is the IDN Role Codes vocabulary - see the Vocabularies. It contains concepts such as author, publisher, collaborator and funder.

5.9. Observations & Results

This pattern is inherited from the TERN Ontology, which, in turn, inherits it from SOSA.

The result of any observation in ABIS is a numerical or classification value for an observed property of a feature of interest (see next pattern).

The observation act is a temporal activity which, recorded or not, follows some procedure.

The value may be qualified with units of measure and uncertainty.

ABIS Parts
Figure 12. Two styles of Result: a numerical and a classification

Using this pattern, the thing that ties the result value to the property of the thing observed is the observation.

NOTE

Since observations record when a result was produced, multiple observations of the property of a thing can be recorded over time, such as multiple estimations of the taxon of a specimen.

5.10. Feature of Interest

A feature of interest is the object of some activity’s focus. This is a relative term: when an observation considers the property of something - perhaps the colour of a part of a leaf - then the part leaf only - a sample of it - is the feature of interest. If the observation were to consider the colour of the whole leaf, then the leaf is the feature of interest. If the colour of the whole bush from which the leaf came was considered, then the whole bush is the feature of interest.

If the average colour of a whole area of bushland was considered, the feature of interest would be the whole area, not any single bush or plant within it.

ABIS Parts
Figure 13. Three Features if Interest indicated with respect to the Observation that is observing properties of them. Whether something is a sample of something else doesn’t affect its status as a Feature of Interest with respect to an Observation.

5.11. Sites

A site is a special kind of feature of interest with a particular definition in the domain of biodiversity science. As per the TERN Ontology, a Site in ABIS is:

"An ecological monitoring site where observations and samplings occur"

So when we see a site in ABIS, we know that it is the focus of the activity of ecological monitoring and not some other form of "site", for example an administrative region.

Additionally, a TERN/ABIS site is also a form of sample in that the activity at the ecological monitoring is designed to characterise biodiversity at the site where it is representative of an ultimate feature of interest - perhaps a certain kind of habitat. The site might be the entire ultimate feature of interest too in cases where a site is the entire area of concern such as a proposed mine location.

ABIS site s MUST have spatiality and temporality indicated as per the Spatially & Temporality patterns above.

ABIS site s MAY have additional information about them (such as sub areas, transects, subplots, methods used etc.) recorded for them according to particular protocols, such as the Ecological Monitoring System Australia (EMSA) protocols. Adherence to such protocols MAY result in addition RDF data being linked to an ANSI site or additional textual or other literal information but it MUST NOT conflict with the ABIS site information requirements.

Detailed site modelling according to EMSA or similar protocols should result in extension models to ABIS, just as the Projects Model is an extension.

6. Models

As per the Multiple Models section within the Introduction, ABIS is a set of models. The models have different roles and a dependency hierarchy.

6.1. Model Roles

The roles played by the various models within ABIS are:

6.2. Model Dependency Hierarchy

The dependency hierarchy indicates which models profile other models and thus are dependent on them. The mechanism of profiling are as per the Profiles Vocabulary but can easily be summarised as:

Any data which conforms to a model MUST conform to any models it profiles
— Profiles Vocabulary

In practice this means that any model profiling any other may use elements from that profiled model but must not break any rules imposed on that element’s use by the profiled model. These rules usually take the forms of required predicates and values for instances of particular classes, categorisation of object with terms from vocabularies and so on.

The following figure depicts the profiling relationships between the various models within ABIS.

ABIS Parts
Figure 14. The profile hierarchy of the models within ABIS. All the arrows indicate dependency or, formally, prof:isProfileOf relationships between the models, shown as rectangles. The ABIS model itself is the union of the NSL Model, the TERN Ontology and the ABIS Component Models.

6.3. Foreground Model

The ABIS Foreground Model is the union of the Component Models listed in the next section. The dependencies of these models are shown in Figure 13, above.

When modelling biodiversity observations - ABIS' main concern - ABIS uses the TERN Ontology for the scientific domain information. When modelling taxonomic name objects, ABIS uses the NSL Model. When data packaging is necissary, the Biodiversity Record Model is used. Project information and data release details are modelled using the ABIS Projects & ABIS Data Release respectively.

6.4. Component Models

The Component Models of ABIS are:

The TERN Ontology and the NSL Model are defined externally to ABIS whereas the other 3 are defined here, within the ABIS Specification. A short overview of each of these models follows.

6.4.1. TERN Ontology

Model location: see TERN Ontology reference

6.4.1.1. Overview

The TERN Ontology is a re-skinned, and slightly extended, version of the Sensor, Observations, Sampling & Actuation (SOSA) ontology aiming to better cater for the biodiversity community. It is maintained by TERN and used beyond just ABIS.

The main patterns within the TERN Ontology are for observations and sampling.

The observations pattern is inherited directly from SOSA with some small extensions to indicate biodiversity and field observation objects, such as Site, and is essentially as per the following figure.

TERN’s Observation pattern
Figure 15. Classes and predicates from the SOSA ontology used directly or subclassed with the same names by the TERN Ontology.

This pattern sees instances of the class Observation - individual acts of a person or a sensor observing something - following procedures to quantify properties of a Feature Of Interest which could be a surveyed site, a material sample or even a satellite image (which would, in turn, be a sample of the land imaged). Observation instances produce Result instances which contain categorisations, numerical values, units of measure and so on, as necessary to well characterise the observed property quantity or category.

The Provenance Ontology offers a generic perspective on observation and sampling with its take on the observation pattern above given in the figure below. This is as per the Provenance Pattern described in the Patterns Section.

PROV interpretation of observation
Figure 16. The PROV perspective on the classes and predicates in the TERN Ontology’s Observation pattern

The TERN Ontology’s sampling pattern follows SOSA too but uses specialised classes for Site, Survey and other things familiar to those who have undertaken biodiversity surveys in the field. The general pattern is as the figure below.

TERN’s Observation pattern
Figure 17. Classes and predicates within the TERN Ontology used to characterise sampling. The is sample of predicate can be derived from relations between a Sample, the Sampling and the Site. Note the similarity of structure to the SOSA Observation pattern.

TERN Ontology data is packaged into instances of the TERN Ontology’s tern:Dataset class which is analogous to the Biodiversity Record Model's Dataset class.

Note

While the TERN Ontology provides some handling of data packaging, the Biodiversity Record Model provides a more extended form of packaging with catalogues of datasets of records. See the Data Cataloguing pattern for more information.

6.4.1.2. Use in ABIS

The TERN Ontology provides the main model elements for ABIS observation-centric data. The other ABIS foreground models support this, covering off on aspects of ABIS data beyond the TERN Ontology’s scope.

6.4.1.3. Examples

See Annex D: Extended Examples > TERN Ontology for a full example of TERN Ontology data with explanations for each part.

Also see the ABIS Portal for multiple examples that can be loaded and validated using the online validators available there.

6.4.1.4. Further Information

Further details of the TERN Ontology’s classes, predicates and patterns of expected use are documented at:

6.4.2. NSL Model

Model location: see NSL Model reference

6.4.2.1. Overview

The NSL Model is the Australian National Species List model for the identifying and referencing of species names.

An overview of the main classes and predicates of the NSL Model is given in the figure below.

NSL Model Overview
Figure 18. An overview of the National Species List (NSL) model in Semantic Web form, adapted from that model’s documentation online at https://linked.data.gov.au/def/nsl

The NSL Model associates the class Taxon representing "A group of organisms considered by taxonomists to form a homogeneous unit" with names for them - Taxon Name - and usage of that name in literature - instances of the class Usage, which is a special type of BibliographicReference that quotes the Taxon Name as used in a CreativeWork. It also allows the citation of Usage instances bu other Usage instances.

The join point between the NSL Model and the TERN Ontology is on the Result of an Observation being the assignment of a Taxon Name to a Feature of Interest (probably a Sample) as per the figure below:

NSL Model Overview
Figure 19. An overview of the National Species List (NSL) model in Semantic Web form, adapted from that model’s documentation online at https://linked.data.gov.au/def/nsl
Note

The NSL Model stated that a Taxon, rather than a Taxon Name, MAY be assigned to a Feature of Interest, but it sets criteria for this in its ABIS Mapping section.

6.4.2.2. Use in ABIS

The NSL Model is used to link names for species to actual taxa and references to names and taxa in scientific literature.

ABIS data need only reference NSL data modelled according to the NSL Model and SHOULD NOT re-characterise taxonomic name / taxon relations.

6.4.2.3. Examples

The entire NSL dataset, modelled according to the NSL Model, should be available for public access in the latter half of 2024. Additionally, the BDR will contain a copy of the NSL data, so access to the BDR should provide access to that.

Examples of NSL Model data can also be found throughout the NSL Model Specification.

References to NSL objects - instances of the TaxonName class - are also present within example data files in the ABIS Portal.

6.4.3. Biodiversity Record Model

Model location: Annex A

6.4.3.1. Overview

ABIS implements a simple catalogue model that reuses a class from the TERN Ontology, a class from schema.org and introduces a class of its own, specific to biodiversity observations.

From schema.org:

From the TERN Ontology:

  • Dataset - A collection of data, published or curated by a single agent, and available for access or download in one or more representation

Introduced:

  • (Biodiversity) Record - A unit of information that represents the record of a biodiversity occurrence or a biodiversity survey

The use of the existing classes is as per schema.org's basic data cataloguing, which is based on the Data Catalog Vocabulary (DCAT) standard, where DataCatalog instances contain Dataset instances. This model’s extension with the definition of the (Biodiversity) Record class - Record - is to define data elements within datasets that are specifically about biodiversity occurrences or about biodiversity surveys.

Note

Record instances can be calculated from puer TERN ontology data if not directly stated, according to the Record Rule.

See the patterns of Data Cataloguing and Section 5.4 for more information and this model’s definition in Annex A for further information.

6.4.3.2. Use in ABIS

This model is to be used to group 'chunks' of ABIS data together in Dataset instances and to list those 'chunks' in catalogues. Further, this model is to be used to identify records of biodiversity occurrences.

6.4.3.3. Examples
ex:dataset-x
    a tern:Dataset ;
    # ... dataset metadata
.

ex:sample-y
    a tern:Sample ;
    # ...
    void:inDataset ex:dataset-x ;
.

ex:obs-z
    a tern:Observation ;
    # ...
    void:inDataset ex:dataset-x ;
    sosa:hasFeatureOfInterest ex:sample-y ;
.

6.4.4. Projects Model

Model location: Annex B

ABIS contains a simple model of Projects where a Project is defined as "An Activity that requires concerted effort following a Plan in pursuit of an objective". The Model is fully described in Annex A: Projects Model.

The following figure illustrates the basic relationships of the class Project and Program, the only other class defined by the model.

Projects Model Class Hierarchy
Figure 20. The two classes defined by the Projects Model - Project & Program - and their main relationships.

The join point between the Projects Model and the rest of ABIS is that datasets of ABIS data - instances of the tern:Dataset class - are produced by instances of Project as per the figure below.

Projects Model Join Poin
Figure 21. The Projects Model joins the rest of ABIS by Project instances producing tern:Dataset instances.

See Annex A for more details about the Project Model.

6.4.5. Data Release Model

Model location: Annex C

ABIS contains a simple model for describing aspects of data release: to whom, under what circumstances and when data may be released. The Model is fully described in Annex B: Data Release Model.

The following figure illustrates the basic elements of this model.

Overview of the Data Release Model
Figure 22. An overview of the Data Release Model

The Data Release Model defines predicates - embargoed until & embargo period - which can be applied to instances of the tern:Dataset class which set absolute or relative embargo release times. The model details the relations between these predicates.

6.5. Background Models

The Background Models within ABIS are all those profiled by the Component Models. They are shown visually in the Model Dependency Hierarchy, above.

The main Background Models for ABIS are:

Of these models, all provide Semantic Web rules that can be used for data validation except for Darwin Core. Validators for each of these models, other than Darwin Core, are given in the Validation Section. These validators may be used individually or combined, within the ABIS Validator.

These models in turn profile several fundamental Semantic Web models:

Neither these models nor ABIS provide validators, however syntactic and some semantic data validation for RDF, RDFS & OWL data is built in to many Semantic Web / Linked Data tooling and, for example, syntactically invalid RDF data will not be able to be processed by ABIS other validators.

Additional Background Models - the Profiles Vocabulary & Olis - are used to describe the relationships between ABIS models and between units of ABIS data within datasets, respectively, and do not need to be directly considered by users of ABIS: their impact is felt within the descriptions of this specification document itself.

Specific details of all these Background Models are not directly given here, other than certain patterns they impose and these are presented in the Patterns Section.

7. Vocabularies

ABIS use depends on the use of many vocabularies. For example, the observed growth stage of a plant may be indicated by use of Dead, Regrowth or Senescence taken from TERN's Growth Stage vocabulary.

Some uses of ABIS, such as for the submission of data to the BDR, require the use of particular vocabularies that aren’t mandated for general ABIS use, for example the use of the BDR Datatypes vocabulary for special forms of identifiers. Mandates for particular vocabulary use are indicated by individual profiles of ABIS - see Profiles.

Some Component Models of ABIS also require the use of particular vocabularies, for example, the Projects Model mandates that roles chosen for an attribution’s hadRole predicate, when used for an instances of the abis:Project class, must come from the IDN Role Codes Vocabulary

All the vocabularies required for use with ABIS and any known profile of ABIS are listed at the BDR Vocabulary Register:

The profile or Component Model that requires each vocab’s use is indicated there, along with other metadata to assist with the discovery of vocabs. This register is live and continuously updated with use and vocab updates.

8. Profiles

A "profile" is a:

A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications.

Profiles may comprise multiple parts: their own specification rules, validation contraints, controlled vocabularies and so on.

8.1. ABIS is a Profile

ABIS is a profile of many other specifications, as per the Model Dependency Hierarchy.

ABIS is made of multiple parts, as per the Section Parts of ABIS.

8.2. Profiles of ABIS

Further profiles of ABIS may be made to constrain and/or extend its use.

Profile makers are able to define extended constraints on the use of ABIS to meet particular business needs. This can include constraining value ranges, vocabularies used and so on. Profile rules are entirely a matter for profile defines however data validated according to a profile of a standard, must always be valid according to the standard itself.

Profiles of ABIS may be defined anywhere however profile creators are encouraged to list their profiles here by contacting ABIS' maintainers.

The following profiles of ABIS are known to exist:

8.3. BDR Profile

This profile defines the requirements for data to be absorbed into the Biodiversity Data Repository.

8.3.1. Resources

The resources within this profile are listed below. The roles given for each are taken from The Profiles Vocabulary [PROF].

Resource Role IRI Description

Specification

Specification

https://linked.data.gov.au/def/abis/bdr

The normative BDR Profile of ABIS. The next section in this document

Machine-readable Profile Definition

Profile Definition

https://linked.data.gov.au/def/abis/bdr.ttl

The normative machine-readable definition of this Profile, as per the Specification text, but in RDF

Validator

Validation

https://linked.data.gov.au/def/abis/bdr/validator

A SHACL file used to validate RDF data according to this Profile’s rules

Examples

Example

https://linked.data.gov.au/def/abis/bdr/examples

A list of examples of BDR data, as distinct from ABIS data. A section in this document

JSON-LD Context

Schema

https://linked.data.gov.au/def/abis/bdr/context.json

A JSON-LD Context for this profile

Note

This profile’s validators are pre-loaded in the ABIS Portal.

8.3.2. Specification

The following subsections contain the rules of this Profile that go above and beyond those specified for ABIS generally. They form this Profile’s normative specification.

8.3.2.1. Required Identifiers

The BDR requires that certain classes of ABIS object use identifiers from particular systems. Some classes of identifier are able to be generated by a data submitter, based on a patter, others must be pre-allocated by the BDR Team.

Class Authority Pattern / Logic Description

tern:Dataset

Data Submitter

https://linked.data.gov.au/dataset/bdr/{UUID} where {UUID} is a UUIDv4

Most software libraries can generate this e.g. Python can call import uuid and then uuid.uuid4()

Alternate IRIs MAY be able to be used, for example for pre-existing datasets, if arranged with the BDR Team

tern:Site

Submitter or original Site creator

{Dataset-IRI}/ + supplier pattern or original IRI

If created by a supplier, the IRI must be based on the IRI of the Dataset that it is part of and must be unique within the Dataset.

Any system may be used to ensure uniqueness, e.g. UUIDs, systematic numbers etc.

tern:Sample

Submitter or original Sample creator

{Dataset-IRI}/ + supplier pattern or original IRI

As per Site

tern:Observation

Submitter or original Sample creator

{Dataset-IRI}/ + supplier pattern or original IRI

As per Site

prov:Agent, one of schema:Organisation or schema:Person, with a role in relation to a Dataset

BDR Team

Fixed, as registered

Agents with roles relating to a Dataset MUST be identified by IRIs as registered in the BDR Submitting Organisations vocabulary

prov:Agent, one of schema:Organisation or schema:Person, other relations

Submitter

Any

Agents other than those with roles relating to Datasets may be identified using any IRI or a Blank Node

schema:Datatype, as used with the schema:identifier predicate

BDR Team

Fixed, as registered

Datatypes indicated for literal values by the schema:identifier predicate MUST be identified by IRIs as registered in the BDR Datatypes vocabulary

8.3.2.2. Model Element Mandates

The following table lists the requirements for the presence of classes and predicates assigned to data supplied according to this Profile. These requirements are in addition to those imposed by ABIS Component models, such as the TERN Ontology.

A cardinality of 1 means mandatory. 0+ means zero or more, 1+ one more, etc. 0-1 means zero or one only.

Class Predicate Cardinality Datatype Notes

tern:Dataset

dcterms:title

1

xsd:string

tern:Dataset

dcterms:description

1

xsd:string

May use simple formatting such as linebreaks

tern:Dataset

dcterms:created

1

xsd:date

not xsd:dateTime or other date variant

tern:Dataset

dcterms:modified

1

xsd:date

not xsd:dateTime or other date variant

tern:Dataset

dcterms:creator

1+

IRI

the IRI of the Agent(s) must be listed in the BDR Submitting Organisations vocabulary

tern:Dataset

dcterms:publisher

1

IRI

the IRI of the Agent(s) must be listed in the BDR Submitting Organisations vocabulary

8.3.3. Examples

Coming Soon

9. Validation

This model both inherits existing and implements new validators for data claiming conformance to ABIS to allow testing of that claim. Since ABIS data MUST be provided in RDF, only an RDF validator is available and other forms of validation are non-normative.

9.1. Multiple Validators

Just as the ABIS model is a collection of models and also inherits model elements from other models (see Multiple Models), so too is the ABIS validator a collection of ABIS-created validators and inherited validation rules. For data to validly conform ABIS, it must also be valid according all these validators. Part use of ABIS may choose to be valid according to only some ABIS validators.

The following table lists all the validators relevant to ABIS and describes their roles.

Validator Description Source Notes

ABIS

Validation rules implemented by ABIS only

ABIS

Imports many other validators

BDR Profile of ABIS

For data intended for storage in the BDR

BDR Profile

Imports the ABIS validator

GeoSPARQL

For spatial data

GeoSPARQL

Presented by the GeoSPARQL standard

SOSA

For sampling/observations data

SOSA

Derived from the SOSA standard

TERN Ontology

For TERN Ontology data

ABIS/BDR

The TERN Ontology validator, as presented by TERN

ABIS Profile of TERN Ontology

For data created according to the TERN Ontology, but for use in ABIS-based systems

TERN Ontology

Imports parts of the TERN validator but not all

VocPub

For data vocabularies

VocPub

Presented by VocPub

Biodiversity Records Model

For data created according to the Biodiversity Records Model

ABIS/BDR

Project Model

Validation rules implemented by the Projects Model only

ABIS

Data Release Model

Validation rules implemented by the Data Release Model only

ABIS

9.2. Performing Validation

The preferred way to validate RDF data using the validators above is to use the ABIS Portal which contains all the validators pre-loaded for use.

However, any one of a number of tools designed for SHACL validation may be used and some may be more useful than the ABIS Portal for certain scenarios. Some such tools are:

  • pySHACL

    • free and open source Python SHACL validator

    • can be used as a command line application or within Python scripting as a library

  • SHACL Playground

    • online Javascript-based validator

    • can be used in a browser

  • KurrawongAI SHACL Validator

    • online pySHACL-based validator

    • preloaded with the validators above and many others

10. Mappings

This section lists mappings between ABIS and related models. These are conceptual mappings that either show model element equivalence - ABIS Class X is equivalent to Other Model Class Y - or transformations for equivalence - or calculations that lead to equivalence.

For each mapping given here, an RDF mapping file is also provided when the target of the mapping is also a Semantic Web model. The files are linked to in each section.

10.1. Background Models

ABIS background models such as Sensor, Observations, Sampling & Actuation (SOSA) ontology and GeoSPARQL are mapped to from ABIS foreground data in a simple manner: since all TERN Ontology/ABIS class objects are specialised versions of the background model’s classes, if a background model export is needed, ABIS data can either be sent as-is and the receiver can then infer generic objects from specialised ones, or we could perform the inference and export objects according to that model only.

The following methodology for export of ABIS data according to a SOSA will work with all background models.

10.1.1. SOSA

ABIS foreground model’s mappings to the Sensor, Observations, Sampling & Actuation (SOSA) ontology and also SOSA’s parent, the Semantic Sensor Network Ontology are established by following defined relations between elements such as subclass and subproperty relations. The following mapping table to SOSA/SSN from the TERN ontology can be produced by querying the TERN Ontology with this query:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?from ?relation ?to
WHERE {
    VALUES ?relation {
        rdfs:subClassOf
        rdfs:subPropertyOf
    }
    ?from ?relation ?to .

    FILTER REGEX(STR(?to), "ssn|sosa")
} ORDER BY ?c

The query above produces the following results:

From Element Mapping Relation To Element

Classes

tern:Attribute

rdfs:subClassOf

ssn:Property

tern:Deployment

rdfs:subClassOf

ssn:Deployment

tern:FeatureOfInterest

rdfs:subClassOf

ssn:FeatureOfInterest

tern:Input

rdfs:subClassOf

ssn:Input

tern:ObservableProperty

rdfs:subClassOf

sosa:ObservableProperty

tern:Observation

rdfs:subClassOf

sosa:Observation

tern:ObservationCollection

rdfs:subClassOf

sosa:ObservationCollection

tern:Platform

rdfs:subClassOf

sosa:Platform

tern:Procedure

rdfs:subClassOf

sosa:Procedure

tern:Result

rdfs:subClassOf

sosa:Result

tern:Sample

rdfs:subClassOf

sosa:Sample

tern:Sampler

rdfs:subClassOf

sosa:Sampler

tern:Sampling

rdfs:subClassOf

sosa:Sampling

tern:Sensor

rdfs:subClassOf

sosa:Sensor

tern:System

rdfs:subClassOf

ssn:System

Predicates

tern:hasAttribute

rdfs:subPropertyOf

ssn:hasProperty

The TERN Ontology uses many SOSA predicated directly too:

Used Directly

Predicates

sosa:hasFeatureOfInterest

sosa:hasMember

sosa:hasResult

sosa:hasSample

sosa:hasSimpleResult

sosa:hasUltimateFeatureOfInterest

sosa:isFeatureOfInterestOf

sosa:isHostedBy

sosa:isResultOf

sosa:isSampleOf

sosa:madeBySampler

sosa:madeBySensor

sosa:madeObservation

sosa:madeSampling

sosa:observedProperty

sosa:observes

sosa:phenomenonTime

sosa:usedProcedure

In addition to the above tables, many TERN Ontology Classes are subclasses of other TERN Ontology Classes, for example tern:Site subclass of tern:Sample and given tern:Sample subclass of sosa:Sample, then tern:Site subclass of sosa:Sample.

Using the tables and logic above, much TERN Ontology data can be converted to purely SOSA/SSN terms. for the following TERN Ontology data:

ex:sample-1
    a tern:Sample ;
    sosa:isSampleOf ex:site-1 ;
.

ex:site-1
    a tern:Site ;
    sosa:isSampleOf <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a tern:Observation ;
    sosa:hasFeatureOfInterest ex:sample-1 ;
    sosa:hasResult [
        a tern:Integer ;
        rdf:value 42 ;
    ] ;
.

the pure SOSA/SSN data is:

ex:sample-1
    a sosa:Sample ;
    sosa:isSampleOf ex:site-1 ;
.

ex:site-1
    a sosa:Sample , sosa:Platform ;
    sosa:isSampleOf <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a sosa:Observation ;
    sosa:hasFeatureOfInterest ex:sample-1 ;
    sosa:hasResult [
        a sosa:Result ;
        rdf:value 42 ;
    ] ;
.

10.1.2. GeoSPARQL

Conversion of ABIS data to pure GeoSPARQL may be needed to understand how SOSA data can be spatially indexed, given that most spatially-enabled triplestores only spatially index GoSPARQL values.

The following SPARQL query applied to the TERN Ontology produces the table that follows:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?from ?relation ?to
WHERE {
    VALUES ?relation {
        rdfs:subClassOf
        rdfs:subPropertyOf
    }
    ?from ?relation ?to .

    FILTER REGEX(STR(?to), "geosparql")
} ORDER BY ?c
From Element Mapping Relation To Element

Predicates

tern:centroidPoint

rdfs:subPropertyOf

geo:hasGeometry

tern:sampleStorageLocation

rdfs:subPropertyOf

geo:hasGeometry

tern:swPoint

rdfs:subPropertyOf

geo:hasGeometry

Additionally, the SHACL constraints of the TERN Ontology (see Validation) require that a number of TERN Ontology classes be allowed to indicate a geo:Geometry which, by GeoSPARQL reasoning, makes them subclasses of geo:Feature.

From Element Mapping Relation To Element

Classes

tern:FeatureOfInterest

rdfs:subClassOf

geo:Feature

tern:MaterialSample

rdfs:subClassOf

geo:Feature

tern:Observation

rdfs:subClassOf

geo:Feature

tern:Sample

rdfs:subClassOf

geo:Feature

tern:Sampling

rdfs:subClassOf

geo:Feature

tern:Site

rdfs:subClassOf

geo:Feature

tern:Transect

rdfs:subClassOf

geo:Feature

Further, by the nature of sample, we can make the following SOSA → GeoSPARQL predicate mappings:

From Element Mapping Relation To Element

Predicates

ssn:hasFeatureOfInterest

rdfs:subPropertyOf

geo:sfWithin

ssn:isSampleOf

rdfs:subPropertyOf

geo:sfWithin

Here is the same dummy TERN Ontology data used in the SOSA mapping above:

ex:sample-1
    a tern:Sample ;
    sosa:isSampleOf ex:site-1 ;
.

ex:site-1
    a tern:Site ;
    sosa:isSampleOf <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a tern:Observation ;
    sosa:hasFeatureOfInterest ex:sample-1 ;
    sosa:hasResult [
        a tern:Integer ;
        rdf:value 42 ;
    ] ;
.

The above, now rendered in purely GeoSPARQL terms from the 3 above mapping tables:

ex:sample-1
    a geo:Feature ;
    geo:sfWithin ex:site-1 ;
.

ex:site-1
    a geo:Feature ;
    geo:sfWithin <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a geo:Feature ;
    geo:sfWithin ex:sample-1 ;
.

10.1.3. PROV

The TERN Ontology uses some PROV classes directly:

Used Directly

Classes

prov:Association

prov:Attribution

It required that these classes indicate prov:Agent & prov:Role instances and that Association may also indicate a prov:Plan.

It also defines the following relations to PROV:

From Element Mapping Relation To Element

Classes

tern:Intervention

rdfs:subClassOf

prov:Activity

tern:Observation

rdfs:subClassOf

prov:Activity

tern:Sampling

rdfs:subClassOf

prov:Activity

tern:SiteVisit

rdfs:subClassOf

prov:Activity

Each of these classes MAY indicate an prov:Association (to an prov:Agent) via either prov:wasAssociatedWith or prov:qualifiedAssociation.

The TERN Ontology does not define any mappings to PROV’s Agent or Entity classes directly, however the TERN Validator does use prov:Agent and we can infer the following class relations from SOSA’s PROV Alignment:

From Element Mapping Relation To Element

Classes

tern:Dataset

rdfs:subClassOf

prov:Entity

tern:FeatureOfInterest

rdfs:subClassOf

prov:Entity

tern:MaterialSample

rdfs:subClassOf

prov:Entity

tern:Result

rdfs:subClassOf

prov:Entity

tern:Sample

rdfs:subClassOf

prov:Entity

tern:Site

rdfs:subClassOf

prov:Entity

tern:Transect

rdfs:subClassOf

prov:Entity

tern:Attribute

rdfs:subClassOf

prov:Entity

tern:FeatureOfInterest

rdfs:subClassOf

prov:Entity

tern:Input

rdfs:subClassOf

prov:Entity

tern:ObservableProperty

rdfs:subClassOf

prov:Entity

tern:Platform

rdfs:subClassOf

prov:Entity

tern:Procedure

rdfs:subClassOf

prov:Plan

tern:Result

rdfs:subClassOf

prov:Entity

tern:Sampler

rdfs:subClassOf

prov:Agent

tern:Sensor

rdfs:subClassOf

prov:Agent

tern:System

rdfs:subClassOf

prov:Agent

Subclasses of prov:Entity MAY always, according to PROV, indicate an prov:Attribution (to an prov:Agent) via either prov:wasAttributedTo or prov:qualifiedAttribution, but in TERN Ontology, this information is only ever expected for tern:Dataset objects.

There are also SOSA predicate to PROV predicate mappings given in SOSA’s PROV Alignment, for example:

From Element Mapping Relation To Element

Predicates

sosa:isSampleOf

rdfs:subPropertyOf

prov:wasDerivedFrom

Using all of these mappings, the TERN Ontology data:

ex:sample-1
    a tern:Sample ;
    sosa:isSampleOf ex:site-1 ;
.

ex:site-1
    a tern:Site ;
    sosa:isSampleOf <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a tern:Observation ;
    sosa:hasFeatureOfInterest ex:sample-1 ;
    sosa:hasResult [
        a tern:Integer ;
        rdf:value 42 ;
    ] ;
.

maps to the following PROV data:

ex:sample-1
    a prov:Entity ;
    prov:wasDerivedFrom ex:site-1 ;
.

ex:site-1
    a prov:Entity ;
    prov:wasDerivedFrom <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a prov:Activity ;
    prov:used ex:sample-1 ;
    prov:generated [
        a prov:Entity ;
        rdf:value 42 ;
    ] ;
.

10.1.4. Darwin Core Terms

ABIS uses the following Darwin Core Terms class directly:

Used Directly

Classes

dwc:Occurence

The TERN Ontology makes the following mappings to Darwin Core Terms elements:

From Element Mapping Relation To Element

Classes

tern:MaterialSample

rdfs:subClassOf

dwc:MaterialSample

and

Used Directly

Predicates

dwc:materialSampleID

This predicate is to be used on the class tern:MaterialSample.

Additionally, the TERN Ontology validator indicates use of the following predicates:

Used Directly

Predicates

dwc:acceptedNameUsage

dwc:acceptedNameUsageID

dwc:class

dwc:cultivarEpithet

dwc:family

dwc:genericName

dwc:genus

dwc:higherClassification

dwc:infragenericEpithet

dwc:infraspecificEpithet

dwc:kingdom

dwc:nameAccordingTo

dwc:nameAccordingToID

dwc:namePublishedIn

dwc:namePublishedInID

dwc:namePublishedInYear

dwc:nomenclaturalCode

dwc:nomenclaturalStatus

dwc:order

dwc:originalNameUsage

dwc:originalNameUsageID

dwc:parentNameUsage

dwc:parentNameUsageID

dwc:phylum

dwc:scientificName

dwc:scientificNameAuthorship

dwc:scientificNameID

dwc:specificEpithet

dwc:subfamily

dwc:subgenus

dwc:taxonConceptID

dwc:taxonID

dwc:taxonRank

dwc:taxonRemarks

dwc:taxonomicStatus

dwc:verbatimTaxonRank

dwc:vernacularName

All of these predicates are to be used on the class tern:Taxon.

The following mappings to non-deprecated Darwin Core Terms classes can be made from the TERN Ontology by following simple name similarities, shared definitions and shared higher order mappings to PROV:

From Element Mapping Relation To Element

Classes

tern:Intervention

rdfs:subClassOf

dwc:Event

tern:Observation

rdfs:subClassOf

dwc:Event

tern:Sampling

rdfs:subClassOf

dwc:Event

tern:SiteVisit

rdfs:subClassOf

dwc:Event

dwc:FossilSpecimen

rdfs:subClassOf

tern:Sample

dwc:GeologicalContext

rdfs:subClassOf

tern:FeatureOfInterest

dwc:HumanObservation

rdfs:subClassOf

tern:Observation

dwc:Identification

rdfs:subClassOf

tern:Observation

dwc:LivingSpecimen

rdfs:subClassOf

tern:Sample

dwc:Location

rdfs:subClassOf

tern:FeatureOfInterest

dwc:MachineObservation

rdfs:subClassOf

tern:Observation

dwc:MaterialCitation

rdfs:subClassOf

schema:CreativeWork

dwc:MaterialEntity

rdfs:subClassOf

tern:FeatureOfInterest

tern:MaterialSample

owl:equivalentClass

dwc:MaterialSample

dwc:MeasurementOrFact

rdfs:subClassOf

tern:Value

tern:Taxon

rdfs:subClassOf

dwc:Organism

dwc:PreservedSpecimen

rdfs:subClassOf

tern:Sample

tern:Taxon

owl:equivalentClass

dwc:Taxon

dwc:UseWithIRI

rdfs:subClassOf

sh:BlankNodeOrIRI

The following Darwin Core Terms class has a more complex mappings:

dwc:ResourceRelationship is a "A relationship of one rdfs:Resource to another". This means that all predicates in ABIs are dcw:ResourceRelationship objects.

dcw:ResourceRelationship is a Class therefore the general relationship between ABIS elements and it is:

{ABIS-element} rdfs:subPropertyOf dcw:ResourceRelationship…​ if we treat dcw:ResourceRelationship as an rdfs:Property.

It is likely there is little to be gained implementing this mapping.

Using all of these mappings, the ABIS data:

ex:sample-1
    a tern:MaterialSample ;
    schema:additionalType <http://linked.data.gov.au/def/tern-cv/4b36a1ab-7a77-49ca-866a-e68bce2db9e5> ;  # plant matter
    sosa:isSampleOf ex:site-1 ;
.

ex:site-1
    a tern:Site ;
    sosa:isSampleOf <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a tern:Observation ;
    sosa:hasFeatureOfInterest ex:sample-1 ;
    sosa:hasResult [
        a tern:Taxon ;
        rdf:value <https://id.biodiversity.org.au/455721> ;
    ] ;
.

maps to the following Darwin Core Terms data:

ex:sample-1
    a dwc:LivingSpecimen ;
    prov:wasDerivedFrom ex:site-1 ;
.

ex:site-1
    a dwc:Location ;
    prov:wasDerivedFrom <https://example.com/feature/ultimate-foi> ;
.

ex:obs-1
    a dcw:Identification ;
    dwc:materialSampleID ex:sample-1 ;
    dwc:identificationID <https://id.biodiversity.org.au/455721> ;
.

10.2. GBIF New Data Model

Coming in July, 2024

11. Reasoning Rules

This section contains rules that MUST be able to be executed on ABIS data. The rules are machine executable and create new information from ABIS data based on logical, ontological, spatial and other reasoning.

The purpose of these rules are to create convenient forms of base ABIS data, such as bounding boxes for datasets when only Occurrence locations are initially provided. This enables efficient use of ABIS data - dataset discovery can search spatially across the fewer datasets, not just across the more numerous occurrences - and also fleshes out certain data patterns where base ABIS data might have provided multiple forms of content which do not meet the pattern directly but can be used to calculate it.

11.1. How Rules Work

On receipt of ABIS data, ABIS-compliant systems MAY make available data that has been expended, based on the rules in the Rule List below. How a system does this is a matter for the system but the general approaches are:

  1. forward chaining

  2. backwards chaining

Forwards chaining involves expanding received data in accordance with the rules and materialising all the extension elements. Backwards chaining involves applying the reasoning rules to queries of the data such that the query can be answered as if the data had been expanded.

The rules are identified below, described in English and then defined in SPARQL queries. Implementing systems do not have to expand the data using SPARQL queries - they may use any system they like, such as application code - but the SPARQL queries serve as the canonical definition of the rule.

11.2. Rule List

ID Description Dependencies Definition

R01

Calculate abis:Occurrence instances from Observations with XXX properties

-

PREFIX abis: <https://linked.data.gov.au/def/abis/>
PREFIX tern <https://w3id.org/tern/ontologies/tern/>
PREFIX void: <http://rdfs.org/ns/void#>

CONSTRUCT {
    ?occ a abis:Occurrence .
}
WHERE {
    # ...
}

R02

Calculate abis:BiodiversityRecord instances from …​

-

PREFIX abis: <https://linked.data.gov.au/def/abis/>
PREFIX tern <https://w3id.org/tern/ontologies/tern/>
PREFIX void: <http://rdfs.org/ns/void#>

CONSTRUCT {
    ?boc a abis:BiodiversityRecord .
}
WHERE {
    # ...
}

R03

Centroids must be calculated for polygons

-

PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

CONSTRUCT {
    ?feature geo:hasCentroid ?centroid
}
WHERE {
    ?feature geo:hasGeometry/geo:asWKT ?wkt .

    BIND geof:centroid(?wkt) AS ?centroid .

    FILTER REGEX(?wkt, "POLYGON")
}

R04

If a Dataset does not have a geometry supplied, it must have it calculated as the convex hull of its spatial object members

R01

PREFIX abis: <https://linked.data.gov.au/def/abis/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>
PREFIX tern <https://w3id.org/tern/ontologies/tern/>
PREFIX void: <http://rdfs.org/ns/void#>

CONSTRUCT {
    ?dataset geo:hasGeometry ?geom .
    ?geom geo:asWKT ?wkt .
}
WHERE {
    {
        VALUES ?spatialFeature {
            abis:Ocurrence
            tern:Site
            tern:Survey
            tern:SiteVisit
        }

        SELECT ?wkt
        WHERE {
            ?feature
                void:inDataset ?dataset ;
                a ?spatialFeature ;
            .
        }
    }

    BIND BNODE() AS ?geom .
    BIND geof:aggBoundingBox(?wkt) AS ?boundingbox .

    MINUS {
        ?dataset geo:hasGeometry ?geom .
    }
}

R05

Bounding Boxes must be calculated for Datasets

R04

PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX geof: <http://www.opengis.net/def/function/geosparql/>

CONSTRUCT {
    ?dataset geo:hasBoundingBox ?boundingbox
}
WHERE {
    ?dataset geo:hasGeometry/geo:asWKT ?wkt .

    BIND geof:aggBoundingBox(?wkt) AS ?boundingbox .
}

R06

If a Dataset does not have a temporal range supplied, it must have it calculated as the containing interval containing all of its temporal object members

R01

PREFIX abis: <https://linked.data.gov.au/def/abis/>
PREFIX schema: <https://schema.org/>
PREFIX tern <https://w3id.org/tern/ontologies/tern/>
PREFIX time: <http://www.w3.org/2006/time#>


CONSTRUCT {
    ?dataset schema:temporality ?boundingbox
}
WHERE {
    {
        VALUES ?temporalFeature {
            abis:Ocurrence
        }

        SELECT ?wkt
        WHERE {
            ?feature
                void:inDataset ?dataset ;
                a ?temporalFeature
            .

            ?feature time:hasTime ?time .
        }
    }

    ?dataset geo:hasGeometry/geo:asWKT ?wkt .

    BIND geof:aggBoundingBox(?wkt) AS ?boundingbox .

    MINUS {
        ?dataset schema:temporality ?temporal .
    }
}

Record Rule

This rule allows for the creation of Record instances from TERN Ontology data that doesn’t directly indicate such as class of object.

Spatial Reasoning

The following spatial reasoning rules will be applied to ABIS data.

Centroids and Bounding Boxes from Boundaries
Datasets containment of Surveys
Surveys containment of Observations
Inference of geometry literal datatypes from GeoSPARQL predicates

Temporal Reasoning

Inference of date/time literal datatypes from TIME predicates

TODO: complete this section

12. References

BIRO

Di Iorio, A., Nuzzolese, A. G., Peroni, S., Shotton, D., Vitali, F. Describing bibliographic references in RDF. In Garcia Castro, A., Lange, C., Lord, P., Stevens, R. (Eds.), Proceedings of 4th Workshop on Semantic Publishing (SePublica 2014), CEUR Workshop Proceedings 1155. Aachen, Germany: CEUR-WS.org. http://ceur-ws.org/Vol-1155/paper-05.pdf (Open Access). Ontology description online at http://www.sparontologies.net/ontologies/biro

DCAT

World Wide Web Consortium, Data Catalog Vocabulary (DCAT) - Version 2, W3C Recommendation (04 February 2020). https://www.w3.org/TR/vocab-dcat/

DWC

Darwin Core Maintenance Group, Darwin Core, Biodiversity Information Standards (TDWG), Technical Specification (2009). http://www.tdwg.org/standards/450

GSP

Open Geospatial Consortium, OGC GeoSPARQL - A Geographic Query Language for RDF Data, OGC Implementation Standard. Car, N. J., & Homburg, T. (eds.) (2011). http://www.opengis.net/doc/IS/geosparql/1.1

ISO19156

International Organization for Standardization, ISO 19156: Geographic information — Observations and measurements (2011)

JSON-LD

World Wide Web Consortium, JSON-LD 1.1: A JSON-based Serialization for Linked Data, W3C Recommendation (16 July 2020). https://www.w3.org/TR/json-ld11/

NSLM

Centre for Australian National Biodiversity Research (CANBR), National Species List - Semantic Web Model (2023). https://linked.data.gov.au/def/nsl

OLIS

KurrawongAI, Olis Ontology, Semantic Web Model (2022). https://olis.dev/ont

OWL2

World Wide Web Consortium, OWL 2 Web Ontology Language Document Overview (Second Edition), W3C Recommendation (11 December 2012). https://www.w3.org/TR/owl2-overview/

PROF

World Wide Web Consortium, The Profiles Vocabulary, W3C Working Group Note (18 December 2019). https://www.w3.org/TR/dx-prof/

PROV

World Wide Web Consortium, PROV-O: The PROV Ontology, W3C Recommendation (30 February 2013). https://www.w3.org/TR/prov-o/

RDFSPEC

World Wide Web Consortium, RDF 1.1 Concepts and Abstract Syntax, W3C Recommendation (25 February 2014). https://www.w3.org/TR/rdf11-concepts/

RDFSSPEC

World Wide Web Consortium, RDF Schema 1.1, W3C Recommendation (25 February 2014). https://www.w3.org/TR/rdf11-schema/

schema

schema.org Consortium, schema.org, OWL vocabulary (26 June 2023). https://schema.org/

SHACL

World Wide Web Consortium, Shapes Constraint Language (SHACL), W3C Recommendation (20 July 2017). https://www.w3.org/TR/shacl/

SKOS

World Wide Web Consortium, SKOS Simple Knowledge Organization System Reference, W3C Recommendation (18 August 2009). https://www.w3.org/TR/skos-reference/

SOSA

World Wide Web Consortium, Sensor, Observation, Sample, and Actuator ontology, within Semantic Sensor Network Ontology, W3C Recommendation (19 October 2017). https://www.w3.org/TR/vocab-ssn/

TERN Ontology

Terrestrial Ecosystems Research Network (TERN). TERN Ontology. A information model to represent plot-based ecological surveys. https://linkeddata.tern.org.au/information-models/tern-ontology

TIME

World Wide Web Consortium, Time Ontology in OWL, W3C Candidate Recommendation (26 March 2020). https://www.w3.org/TR/owl-time/

TURTLE

World Wide Web Consortium, RDF 1.1 Turtle - Terse RDF Triple Language, W3C Recommendation (25 February 2014). https://www.w3.org/TR/turtle/

VocPub

Australian Government Linked Data Working Group, VocPub Profile, Profiles Vocabulary profile of SKOS (2020). https://w3id.org/profile/vocpub

VOID

DERI, Vocabulary of Interlinked Datasets (VoID), OWL vocabulary (2010). http://vocab.deri.ie/void

XSD2

World Wide Web Consortium, XML Schema Part 2: Datatypes (Second Edition), W3C Recommendation (28 October 2004). https://www.w3.org/TR/xmlschema-2/

Annex A: Biodiversity Record Model

Biodiversity Record Model overview
Figure 23. An overview of the Biodiversity Record Model’s classes and their relationships

DataCatalogs are curated lists of Datasets that contain Biodiversity Records (just 'Records').

The Dataset class is taken from the TERN Ontology and normal schema.org data catalogue modelling (informed by DCAT) is used so that datasets are creative work objects and may be described with metadata such as creator, issued date, etc.

The validator for this model, given in this model’s Validator section, only check for minimal conformance to this model - correct use of the classes in relation to one another - and does not mandate any other properties for catalogues, datasets or records. Such validation is the role of profiles of this model or of ABIS as a whole.

Note

See the BDR Profile for the requirements of Biodiversity Record Model data bound for the BDR.

Biodiversity Record Model class equivalences
Figure 24. Class equivalences between this Biodiversity Record Model, schema.org and DCAT
Biodiversity Record Model occurrence modelling
Figure 25. Biodiversity Record Model occurrence modelling

A.1. Metadata

IRI

https://linked.data.gov.au/def/abis/projects

Name

ABIS Data Release Model

Definition

This model is for curated lists - catalogues - of data resources - datasets - that contains information about biodiversity occurrences and surveys - biodiversity records.

Created Date

2024-07-15

Modified Date

2024-07-22

Issued Date

2023-07-30

Version

2.0

Version IRI

abisc:1.0

Version History

2.0 - 2024 July - First release (v2.0 to match ABIS)

Creator

Department of Climate Change, Energy and the Environment (DCCEEW)

Owner

Australian Biodiversity Information Governance Group (AUSBIGG)

Publisher

Department of Climate Change, Energy and the Environment (DCCEEW)

License

Creative Commons Attribution 4.0 International (CC BY 4.0)

Contacts

AusBIGG is supported by DCCEEW’s' Biodiversity Data Repository (BDR) Team. Contact the BDR Team on bdr@dcceew.gov.au
Issue tracking of the ABIS standard is managed online at https://github.com/AusBIGG/abis/issues

Code Repository

https://github.com/AusBIGG/abis

A.3. Classes

Class Index

Classes defined here:

Classes defined elsewhere:

BiodiversityRecord (Record)

Property Value

IRI

abis:BiodiversityRecord

Subclass of

Entity

Is Defined By

TERN Ontology

Preferred Label

Record

Alternate Label Label

Biodiversity Record

Definition

The recording of an Occurrence.

History Note

Defined by the BDR Team in 2024 to better facilitate the management of ABIS data such as linking BDR data to original non-ABIS records in Submitting Organisations' data holdings

Expected Properties

identifier, about

Example

:catalogue-x
    a schema:DataCatalog ;
    schema:name "Catalogue X" ;
    schema:hasPart :dataset-y ;
    # ... other catalogue metadata
.

:dataset-y
    a tern:Dataset ;
    schema:name "Dataset Y" ;
    # ... ther dataset metadata
    schema:isPartOf :catalogue-y ;
    schema:hasPart
        :record-001 ,
        :record-002 ,
        # ... many other records
        :record-NNN ;
.

:record-001
    a abis:BiodiversityRecord ;
    # a non-IRI identifier for this Record, as found in the original
    # data held by the Submitting Organisation
    schema:identifier "R1234"^^bdr-dt:OrgMRecordId ;
    # inverse of :dataset-y schema:hasPart :record-001
    schema:isPartOf :dataset-y ;
    # the thing the Record is about
    schema:about :occurrence-aaa ;
.

:occurrence-aaa
    a dwc:Occurrence ;
    schmea:name "Occurrence AAA" ;
    schema:additionalType <http://linked.data.gov.au/def/tern-cv/cd5cbdbb-07d9-4a5b-9b11-5ab9d6015be6> ;  # animal specimen
    sosa:isSampleOf :foi-h ;  # linke a field site
    sosa:usedProcedure :procedure-i ;  # a controlled method
    schema:spatial [ geo:asWKT "POINT (120.244 -32.959)"^^geo:wktLiteral ] ;
    schema:temporal "2014-07-23"^^xsd:date ;
.

Data Catalog

Dataset

Occurrence

A.4. Predicates

Predicate Index

Predicates defined here:

  • None

Predicates defined elsewhere:

about

Property Value

IRI

schema:identifier

Preferred Label

identifier

Definition

The identifier property represents any kind of identifier for any kind of Thing, such as ISBNs, GTIN codes, UUIDs etc.

Scope Note

Use this predicate to indicate a non-IRI identifier for an ABIS object identified, with ABIS use, by an IRI. A datatype MUST be assigned to the non-IRI identifier value

Is Defined By

schema.org

Example

See the example for Record

about

Property Value

IRI

schema:about

Preferred Label

about

Definition

The subject matter of the content.

Scope Note

Use this predicate to indicate the Occurrence that this Record is about

Is Defined By

schema.org

Example

See the example for Record

A.5. Validator

The following SHACL shapes are graph patterns mandated by this model.

Shapes Index

INCOMPLETE

Annex B: Protocol-based Models

EMSA Protocol

#TODO: add details of the EMSA Protocol Model(s) from https://emsa.tern.org.au/

Annex C: Projects Model

Projects Model Class Hierarchy
Figure 26. The two classes defined by the Projects Model - Project & Program - and their main relationships.

Projects are part of Programs and both are specialised forms of PROV's Activity class. An Activity is "something that occurs over a period of time and acts upon or with entities" which means Project & Program instances can have all the properties that Activities can have, such as temporal extents, Agents that have causal relationships to them and so on.

B.1. Metadata

IRI

https://linked.data.gov.au/def/abis/projects

Name

ABIS Data Release Model

Definition

This model is for describing Projects where Project is defined as "An Activity that requires concerted effort following a Plan in pursuit of an objective".

Created Date

2023-10-15

Modified Date

2023-12-28

Issued Date

2023-12-28

Version

2.0

Version IRI

proj:2.0

Version History

2.0 - 2023 Dec - First release (v2.0 to match ABIS)

Creator

Department of Climate Change, Energy and the Environment (DCCEEW)

Owner

Australian Biodiversity Information Governance Group (AUSBIGG)

Publisher

Department of Climate Change, Energy and the Environment (DCCEEW)

License

Creative Commons Attribution 4.0 International (CC BY 4.0)

Contacts

AusBIGG is supported by DCCEEW’s' Biodiversity Data Repository (BDR) Team. Contact the BDR Team on bdr@dcceew.gov.au
Issue tracking of the ABIS standard is managed online at https://github.com/AusBIGG/abis/issues

Code Repository

https://github.com/AusBIGG/abis

B.3. Classes

B.3.1. Class Index

Classes defined here:

Classes defined elsewhere:

B.3.2. Project

Projects Model Project Class
Figure 27. The Projects Model Project Class and its expected predicates
Property Value

IRI

abis:Project

Subclass of

Activity

Is Defined By

This model

Preferred Label

Project

Definition

An Activity that requires concerted effort following a Plan in pursuit of an objective

History Note

Defined by BDR Team in 2023 in response to BDR usage needs

Expected Properties

is part of, has time, has geometry, generated,

Example

:project-m
    a abis:Project ;
    schema:name "Project M" ;
    schema:description "South Australian government Project M-23" ;
    abis:purpose "To determine extent of koala populations in NE SA" ;
    schema:keywords
        ex:koala ,
        <https://linked.data.gov.au/dataset/asgsed3/STE/4> ;   # S.A.
    schema:isPartOf :program-n ;
    # Note TIME/PROV at https://www.w3.org/TR/owl-time/#time-prov
    # Note temporal range within that of containing Program
    prov:startedAtTime "2023-12-01"^^xsd:date ;
    prov:endedAtTime "2023-12-15"^^xsd:date ;
    geo:hasGeometry [
        a geo:Geometry ;
        geo:asWKT "POLYGON ((138.010254 -26.007424, 140.976563 -25.99755, ..., 138.010254 -26.007424))"
    ] ;
    prov:qualifiedAttribution [
        prov:agent ex:dewr ;  # SA Dept Env, e.g. only
        prov:hadRole role:principalInvestigator ;
    ] ;
    prov:generated ex:dataset-x ;
.

:program-n
    a abis:Program ;
    schema:name "Program N" ;
    schema:hasPart :project-m ;
    # Note TIME/PROV at https://www.w3.org/TR/owl-time/#time-prov
    time:hasTime [
        time:hasBeginning [
            time:inXSDDateTime "2023-12-01"^^xsd:date ;
        ] ;
        time:hasEnd [
            time:inXSDDateTime "2023-12-28"^^xsd:date ;
        ] ;
    ] ;
    # ... other properties
.

B.3.3. Program

Projects Model Program Class
Figure 28. The Projects Model Program Class and its expected predicates
Property Value

IRI

abis:Project

Subclass of

Activity

Is Defined By

This model

Preferred Label

Project

Definition

An Activity that requires concerted effort following a Plan in pursuit of an objective

History Note

Defined by BDR Team in 2023 in response to BDR usage needs

Expected Properties

has part and all the properties of Project, other than is part of

Example

See the example for Project

B.3.4 Attribution

Property Value

IRI

prov:Attribution

Preferred Label

Attribution

Definition

The ascribing of an entity to an agent

Scope Note

Use objects of this class to link Project or Program objects to Agent objects and the roles they played with respect to the Activity

Is Defined By

PROV

Expected Properties

agent, had role

Example

See the Example for Project: the range value for the prov:agent predicate of the Dataset

B.3.5. Agent

Property Value

IRI

prov:Agent

Preferred Label

Agent

Definition

Something that bears some form of responsibility for an activity taking place

Scope Note

Use specialised objects of this class - Organisation or Person - that bear some form of responsibility for a Project where their role is qualified within a Attribution

Is Defined By

PROV

Expected Properties

None: use the Agent’s identifier only

Example

See the Example for Project

B.3.6. Organization

Property Value

IRI

abis:Project

Subclass of

Activity

Is Defined By

This model

Preferred Label

Project

Definition

An organization such as a school, NGO, corporation, club, etc.

History Note

Defined by schema.org

Expected Properties

Example

See the Example for Project

B.3.7. Person

Property Value

IRI

prov:Agent

Preferred Label

Agent

Definition

Something that bears some form of responsibility for an activity taking place

Scope Note

Use specialised objects of this class - Organisation or Person - that bear some form of responsibility for a Project where their role is qualified within a Attribution

Is Defined By

PROV

Expected Properties

None: use the Agent’s identifier only

Example

See the Example for Project

B.3.8. Concept

Property Value

IRI

skos:Concept

Preferred Label

Concept

Definition

An idea or notion; a unit of thought

Scope Note

Direct use of this Class is not expected, instead where a Concept is indicated for use, a specific concept from a controlled vocabulary is expected to be used.

Is Defined By

SKOS

Expected Properties

None

B.4. Predicates

This model defines only one predicate - purpose - but also requires the use of others defined elsewhere. Definitions for all predicates are copied from source and given here.

Predicate Index

Predicates defined here:

Predicates defined elsewhere:

purpose

Property Value

IRI

abis:purpose

Preferred Label

purpose

Definition

The intent of the Activity

Scope Note

Use this predicate to indicate a textual intent for a Project or a Program

Is Defined By

This model

Example

See the example for Project

name

Property Value

IRI

schema:name

Preferred Label

name

Definition

The name of the item

Scope Note

Use this predicate to indicate a textual name for something

Is Defined By

SDO

Example

See the example for Project

description

Property Value

IRI

schema:description

Preferred Label

description

Definition

A description of the item

Scope Note

Use this predicate to indicate a textual description for something

Is Defined By

SDO

Example

See the example for Project

keywords

Property Value

IRI

schema:keywords

Preferred Label

keywords

Definition

Keywords or tags used to describe some item

Scope Note

Use this predicate to indicate Concept instances from controlled vocabularies to categorise the object this predicate is applied to

Is Defined By

SDO

Example

See the Example for Project

has part

Property Value

IRI

schema:hasPart

Preferred Label

has part

Definition

Indicates an item is part of this item

Inverse of

is part of

Scope Note

Use this predicate to indicate that a Program includes a See the example for Project

Is Defined By

SDO

Example

See the example for Project

is part of

Property Value

IRI

schema:isPartOf

Preferred Label

is part of

Definition

Indicates an item that this item, in some sense, is part of

Inverse of

has part

Scope Note

Use this predicate to indicate that a Program includes a See the example for Project

Is Defined By

SDO

Example

See the example for Project

has time

Property Value

IRI

time:hasTime

Preferred Label

has time

Definition

Supports the association of a temporal entity (instant or interval) to any thing

Scope Note

Use this predicate to indicate that a Program or a Project has a temporal region of concern

Is Defined By

OWL TIME

Example

See the example for Project

hasGeometry

Property Value

IRI

geo:hasGeometry

Preferred Label

is part of

Definition

A spatial representation for a given Feature

Scope Note

Use this predicate to indicate that a Program or a Project has a spatial area of concern

Is Defined By

GeoSPARQL

Range

Geometry

Example

See the example for Project

qualified attribution

Property Value

IRI

prov:qualifiedAttribution

Preferred Label

qualified attribution

Definition

The ascribing of an entity to an agent

Scope Note

Use this predicate to link a Project or a Program to a Attribution which then links to an Agent, which must be an Organization or a Person, and a Concept

Is Defined By

PROV

Example

See the example for Project

agent

Property Value

IRI

prov:agent

Preferred Label

agent

Definition

References an Agent which influenced a resource

Scope Note

Use this predicate to link an Project or a Program to an Agent, which must be an Organization or a Person

Is Defined By

PROV

Example

See the example for Project

had role

Property Value

IRI

prov:hadRole

Preferred Label

had role

Definition

A role is the function of an entity or agent with respect to an activity

Scope Note

Use this predicate to link an Project or a Program to a Concept

Is Defined By

PROV

Example

See the example for Project

generated

Property Value

IRI

prov:generated

Preferred Label

generated

Definition

Generation is the completion of production of a new entity by an activity

Scope Note

Use this predicate to link a Project or a Program to data that it produced, in the form of an tern:Dataset containing ABIS data

Is Defined By

PROV

Example

See the example for Project

B.5. Validator

TODO: list and define validators fro this model

Shapes Index

INCOMPLETE

IDN Roles

Property Value

IRI

abis:idn-roles

Preferred Label

IDN Roles

Definition

Roles for the predicate prov:role on instances of prov:Attribution linked to an abis:Project must be taken from the IDN Role Codes Vocabulary

Is Defined By

This model’s validator

Code

abis:idn-roles
    a shacl:Shape ;
    schema:name "IDN Roles" ;
    schema:description "Roles for the predicate prov:role on instances of prov:Attribution linked to an abis:Project must be taken from the IDN Role Codes Vocabulary (https://data.idnau.org/pid/vocab/idn-role-codes)" ;
    sh:path [

    ] ;
.

INCOMPLETE

Annex D: Data Release Model

Overview of the Data Release Model
Figure 29. An overview of the Data Release Model

This model is for describing aspects of data release: to whom, under what circumstances and when data may be released.

Note

Currently, the Data Release model only handles data embargos, but it is likely to be expanded as data release/restriction concerns are found to be important within the ABIS community. Please communicate any data release modelling issues to the BDR Team using the "Contacts" details.

C.1. Metadata

IRI

https://linked.data.gov.au/def/abis/data-release

Name

ABIS Data Release Model

Definition

This model is for describing aspects of data release: to whom, under what circumstances and when data may be released.

Created Date

2023-10-15

Modified Date

2023-12-28

Issued Date

2023-12-28

Version

1.0

Version IRI

abisdr:2.0

Version History

2.0 - 2023 Dec - First release (v2.0 to match ABIS)

Creator

the Department of Climate Change, Energy and the Environment (DCCEEW)

Owner

Australian Biodiversity Information Governance Group (AUSBIGG)

Publisher

Department of Climate Change, Energy and the Environment (DCCEEW)

License

Creative Commons Attribution 4.0 International (CC BY 4.0)

Contacts

AusBIGG is supported by DCCEEW’s' Biodiversity Data Repository (BDR) Team. Contact the BDR Team on bdr@dcceew.gov.au
Issue tracking of the ABIS standard is managed online at https://github.com/AusBIGG/abis/issues

Code Repository

https://github.com/AusBIGG/abis

C.3. Classes

This model defines none of its own classes and only indicates the TERN Ontology's tern:Dataset class for use with the predicates it does define.

C.4. Predicates

embargoed until

Property Value

IRI

abis:embargoedUntil

Preferred Label

embargoed until

Definition

A date after which the is no longer embargoed

Is Defined By

This model

Domain

tern:Dataset

Range

xsd:date, xsd:dateTime or xsd:dateTimeStamp

Scope Note

The embargo period is understood to cease on the time instance of the start of the object value, e.g. at 00:00:00 (midnight) of a given date, or midnight of the first day of a given month.

Example

# Dataset X is embargoed until the 5th of May, 2024

:dataset-x
    a tern:Dataset ;
    schema:name "Dataset X" ;
    dcterms:embargoedUntil "2024-05-11"^^xsd:date ;
    # ... other dataset properties
.

# Dataset Y is embargoed until 2025

:dataset-y
    a tern:Dataset ;
    schema:name "Dataset Y" ;
    dcterms:embargoedUntil "2025-01-01"^^xsd:date ;
    # ... other dataset properties
.

embargo period

Property Value

IRI

abis:embargoPeriod

Preferred Label

embargo period

Definition

A temporal duration within which the object is embargoed

Is Defined By

This model

Domain

tern:Dataset

Range

time:TemporalDuration

Scope Note

This predicate can only be used if the start of the embargo period’s duration can be established by a business or system rule. If it cannot, use embargoed until instead, with a fixed date.

Example

# Dataset X is embargoed for a period of 3 months, calculated to start
# from the issued date.
# The calculation is defined by a business rule which is not
# expressable in RDF

:dataset-x
    a tern:Dataset ;
    schema:name "Dataset X" ;
    dcterms:issued "2023-12-25"^^xsd:date ;
    abis:embargoPeriod [
        a time:DurationDescription ;
        time:months 3 ;
    ] ;
    # ... other dataset properties
.

C.5. Validator

TODO: list and define validators fro this model

Annex E: Extended Examples

This following examples are all RDF data in the Turtle format.

D.1. TERN Ontology

These examples use TERN Ontology elements only.

D.1.1. Validating

All these examples are loaded into the ABIS Portal and may be validated online using the TERN Ontology validator which is also loaded there.

To validate these examples locally - on your own computer - you will need a validation tool installed - see the Validation Section, the example data file, the TERN Ontology validator and the TERN Ontology itself. These files are all available from this ABIS repository:

File Location Validity

TERN Ontology Validator

https://github.com/AusBIGG/abis/tree/master/validators/tern-validator.ttl

-

TERN Ontology Model

https://github.com/AusBIGG/abis/tree/master/models/components/tern-model.ttl

-

Example 01 data

https://github.com/AusBIGG/abis/tree/master/examples/tern-eg-01.ttl

valid

Example 02 data

https://github.com/AusBIGG/abis/tree/master/examples/tern-eg-02.ttl

invalid

If using the pySHACL tool, the following command will validate the data using the files above:

pyshaclz -s tern-validator.ttl -e tern-ont.ttl tern-eg-01.ttl -f table

D.1.2. Example 01 - valid

This example is valid according to the TERN Ontology validator.

TERN Ontology example 01 - valid
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX ex: <http://example.com/thing/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sosa: <http://www.w3.org/ns/sosa/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
PREFIX time: <http://www.w3.org/2006/time#>
PREFIX void: <http://rdfs.org/ns/void#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ex:dataset-01
    a tern:Dataset ;
    dcterms:description "A minimally valid tern:Dataset instance" ;
    dcterms:issued "2021-11-18"^^xsd:date ;
    dcterms:title "TERN Dataset 01" ;
.

ex:obs-01
    a tern:Observation ;
    rdfs:label "TERN Observation 01" ;
    void:inDataset ex:dataset-01 ;
    geo:hasGeometry [
        a geo:Geometry ;
        geo:asWKT "POINT(143, -27)"^^geo:wktLiteral
    ] ;
    rdfs:comment "A minimally valid tern:Observation instance" ;
    sosa:hasFeatureOfInterest ex:foi-01 ;
    sosa:hasResult [
        a tern:Float ;
        rdf:value "42"^^xsd:double ;
        tern:uncertainty "0.5"^^xsd:double ;
    ] ;
    sosa:hasSimpleResult "42"@en ;
    sosa:observedProperty <https://example.org/op/1> ;
    sosa:phenomenonTime [
        a time:Instant ;
        time:inXSDDateTimeStamp "2021-11-18T14:35+10:00"^^xsd:dateTimeStamp ;
    ] ;
    sosa:usedProcedure <https://example.org/proc/1> ;
    tern:resultDateTime "2021-11-18T14:35:00"^^xsd:dateTime ;
.

ex:foi-01
    a tern:FeatureOfInterest ;
    rdfs:label "TERN FeatureOfInterest 01" ;
    void:inDataset ex:dataset-01 ;
    tern:featureType <https://example.org/ft/1> ;
.

D.1.3. Example 02 - invalid

This example is the same data as the above but with several lines commented out (starting with #) which makes it invalid according to the TERN Ontology validator.

TERN Ontology example 02 - invalid
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX ex: <http://example.com/thing/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX sosa: <http://www.w3.org/ns/sosa/>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
PREFIX time: <http://www.w3.org/2006/time#>
PREFIX void: <http://rdfs.org/ns/void#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>

ex:dataset-01
    a tern:Dataset ;
    dcterms:description "A minimally valid tern:Dataset instance" ;
    dcterms:issued "2021-11-18"^^xsd:date ;
    dcterms:title "TERN Dataset 01" ;
.

ex:obs-01
    a tern:Observation ;
    rdfs:label "TERN Observation 01" ;
    void:inDataset ex:dataset-01 ;
#    geo:hasGeometry [
#        a geo:Geometry ;
#        geo:asWKT "POINT(143, -27)"^^geo:wktLiteral
#    ] ;
    rdfs:comment "A minimally valid tern:Observation instance" ;
    sosa:hasFeatureOfInterest ex:foi-01 ;
    sosa:hasResult [
        a tern:Float ;
        rdf:value "42"^^xsd:double ;
        tern:uncertainty "0.5"^^xsd:double ;
    ] ;
    sosa:hasSimpleResult "42" ;
    sosa:observedProperty <https://example.org/op/1> ;
    sosa:phenomenonTime [
        a time:Instant ;
        time:inXSDDateTimeStamp "2021-11-18T14:35+10:00"^^xsd:dateTimeStamp ;
    ] ;
    sosa:usedProcedure <https://example.org/proc/1> ;
    tern:resultDateTime "2021-11-18T14:35:00" ;  # ^^xsd:dateTime ;
.

ex:foi-01
    a tern:FeatureOfInterest ;
    rdfs:label "TERN FeatureOfInterest 01" ;
#    void:inDataset ex:dataset-01 ;
    tern:featureType <https://example.org/ft/1> ;
.

Results from validating this example should indicate two Violations:

  1. The datatype for the value indicated by the tern:resultDateTime predicate on the object ex:obs-01 is of an invalid datatype

    • no datatype is given, so a string (xsd:string) is presumed but it should be an xsd:date, xsd:dateTime or xsd:dateTimeStamp

  2. ex:obs-01 is missing a geo:hasGeometry predicate

  3. ex:foi-01 is missing a void:inDataset predicate