Geosamples Model

Metadata

IRI
https://linked.data.gov.au/def/geosamples
Title

Geosamples Model

Publisher
Geological Survey of Western Australia
Creator
Nicholas J. Car Orcid logo ( nick@kurrawong.ai ) of https://kurrawong.ai
Version Iri
geosamples:1.0
Version Info

1.0 - Initial version

Description

A model that describes physical attributes and important relationships of geological samples

Introduction

  1. Purpose
  2. Use within a Supermodel
  3. Use of SOSA & schema.org
  4. Qualified Relations Pattern & Equivalencies
  5. Specialised Patterns
    1. roles
    2. types & materials
    3. locations
    4. timing
    5. attribution

1. Purpose

The purpose of this model is to group together model elements needed to represent geological samples - rock extracted from boreholes, thin sections, hand-collected sand samples etc. - in a way intuitive to geologists and other users of geological data and also to use established models and modelling practices in the Semantic Web community. This should mean the model is easy to use by people familiar with the geosamples domain but also that it work well with large-scale Knowledge Graph, Linked Data and other sophisticated data structures based on graph principles.

It is NOT the purpose of this model to represent the things sample - rock units and other features of interest - or the results of analysis of the samples, such as geochemistry assays.

2. Use within a Supermodel

This model may be used to represent geological samples in isolation or it may be used with other models, just as any other Semantic Web model may be. However, this model is expected to be used with other models in the geosciences domain with relations between them defined by a Supermodel. The Supermodel concept is a multi-model framework designed to support use of multiple Component Models, integrative Background Models and so on.

Anyone may use this model in isolation, with other Semantic Web models or within a Supermodel of their own making. The Geological Survey of Western Australia's Supermodel that includes this model can be seen online here: https://kurrawong.github.io/gswa-supermodel/.

3. Use of SOSA & schema.org

This model declares few new elements - classes, predicates or axioms - and instead re-uses elements from general-purpose and well-known models (ontologies) together with specific values from a few vocabularies.

The main models this model reuses elements from are:

The central class of this model is a SOSA Sample and most of the predicates indicated for use with it are from schema.org.

Some other model elements come from PROV-O, the Provenance Ontology and some spatial elements from GeoSPARQL.

4. Qualified Relations Pattern & Equivalencies

To provide for many modelling options without declaring large numbers of new predicates for every single property that a geospample may have, this model uses the Qualified Relation pattern. According to this pattern, one data element may link to another, not directly via a specialised predicate but indirectly, via an intermediate element which, in turn, links to "qualifying" information.

For example, instead of creating two predicates to indicate the origin and current location of a sample - where it was obtained from and where it is now stored - perhaps like this:

:sample-x
    ex:originLocation [
        # ... location info
    ] ;
    ex:currentLocation [
        # ... location info
    ] ;
.

we can do this:

:sample-x
    schema:location [
        schema:geo [
            # ... location info
        ] ;
        schema:roleName ex:origin ;
    ] ;
    schema:location [
        schema:geo [
            # ... location info
        ] ;
        schema:roleName ex:current ;
    ] ;
.

So instead of inventing two predicates - ex:originLocation & ex:currentLocation - we just create a vocabulary of roles that locations can have - ex:origin & ex:current. This may seem equivalent (no better) but it's not (and it is better) as we can qualify things in other ways too such as by time:

:sample-x
    schema:location [
        schema:geo [
            # ... location info
        ] ;
        schema:roleName ex:current ;
        schema:startDate "..." ;  # when the sample started being in this place
    ] ;
.

5. Specialised Patterns

These patterns are all implementations of common modelling patterns.

5.1 roles

roles are styles of relationship that something, often an Agent, takes on in relation to another thing. In this model, roles are used for:

Wherever roles are needed in this model, they should be indicated with the schema:roleName predicate and selected from vocabularies of roles which might only be relevant to one particular scenario, e.g. "collector" is relevant to a Sample but not a Feature.

5.2 types & materials

To indicate the "type" of a sample, use schema:additionalType linking to a type selected from a controlled vocabulary. In this way, different sorts of "type" may be indicated by using schema:additionalType multiple times with different vocabularies. Typing may relate to the physical presentation or the purpose of the sample or other properties of it. Material is handled separately.

To indicate the material the sample is made of, use schema:material.

To indicate the method or equipment used to acquire the sample, use sosa:usedProcedure to link to a method/equipment description in a controlled vocabulary. Vocabularies for this include Borehole drilling method and similar.

5.3 locations

Samples may have more than one important location, such as where it was acquired - its "origin" - and where it is now "current". For this reason, the qualified relations pattern is used to associate a Sample with a location and a role that the location plays.

Samples may also be linked to a sosa:Sampling event which may, in turn, be linked to a location. In that case, the "origin" location many be calculated.

Note that while many kinds of locations can be indicated using geometric coordinates with schema:location containing a schema:geo predicate pointing to GeoJSON, WKT or other expressions of coordinates, this isn't necessary. A location could instead indicate a schema:description and just describe a location's position. This is likely useful for the current location of samples which may be something like "Box 3, Shelf 2, Samples Building, Geological Survey Complex X".

5.4 timing

The fundamental timing of importance to a geosample is when it was sampled. This can be indicated with the schema:dateCreated predicate which can indicate any date or date/time object.

Additionally, a sample may be associated with a sosa:Sampling event object to which timing information maybe attached.

5.5 attribution

Attribution is the association of an entity - some "thing" - with an agent - a person, organisation, tool - that caused/created/affected it.

Samples ay have several important attributions such as acquirer, collector, custodian etc. so, in this model, attribution must be qualified with a role, as per the diagram above.

Classes

Sample c

IRI http://www.w3.org/ns/sosa/Sample
Is Defined By https://www.w3.org/TR/vocab-ssn/
Description

Samples are typically subsets or extracts from the feature of interest of an observation.

Scope Note

Use this class to represent the sample object

Example
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX schema: <https://schema/org/>
PREFIX sosa: <http://www.w3.org/ns/sosa/Sample>

:sample-x
    a sosa:Sample ;
    schema:additionalType <http://linked.data.gov.au/def/sample-type/core> ;
    schema:material <http://linked.data.gov.au/def/sample-material/metal-sulphate> ;
    schema:dateCreated "2022-05-11" ;
    schema:isSampleOf <https://linked.data.gov.au/dataset/qldgeofeatures/AnakieProvince> ;
    prov:wasAttributedTo [
        schema:agent <https://orcid.org/0000-0002-8742-7730> ;  # a Person
        schema:roleName ex:collector ;
    ] ;
    prov:wasAttributedTo [
        schema:agent <linked.data.gov.au/org/gsq> ;  # an Organisation
        schema:roleName ex:custodian ;
    ] ;
    sosa:usedProcedure <https://linked.data.gov.au/def/borehole-drilling-method-western-australia/cair-core>
    schema:location [
        schema:geo [
            geo:asWKT "POINT (147.5844 -22.4293)"
        ] ;
        schema:roleName ex:origin ;
    ] ;
    schema:location [
        schema:description "Box 3, Shelf 2, Cores Library Building, Geological Survey of Queensland, Zillmere, QLD" ;
        schema:roleName ex:current ;
    ] ;
.

:sample-x-1
    a sosa:Sample ;
    schema:isSampleOf :sample-x ;
    schema:additionalType <http://linked.data.gov.au/def/sample-type/thin-section> ;
    schema:dateCreated "2024-09-06" ;
    # ...
.

Object Properties

is sample of op

IRI http://www.w3.org/ns/sosa/isSampleOf
Is Defined By https://www.w3.org/TR/vocab-ssn/
Description

Relation from a Sample to the FeatureOfInterest that it is intended to be representative of.

Scope Note

Use this predicate to link a Sample to the thing it is a sample of

Example
See example for Sample

is part of op

IRI https://schema.org/isPartOf
Is Defined By schema:
Description

Indicates an item that this item (in some sense) is part of.

Scope Note

Use this predicate to link a Sample to a collection of samples. Use this in preference to sosa:member or rdfs:member

Example
PREFIX schema: <https://schema/org/>
PREFIX sosa: <http://www.w3.org/ns/sosa/Sample>

:sample-x
    a sosa:Sample ;
    schema:isPartOf :sample-collection-a ;
.

:sample-y
    a sosa:Sample ;
    schema:isPartOf :sample-collection-a ;
.

:sample-z
    a sosa:Sample ;
    schema:isPartOf :sample-collection-a ;
.

:sample-collection-a
    a sosa:SampleCollection ;
    schema:hasPart
        :sample-x ,
        :sample-y ,
        :sample-z ;
    # ... properties here that apply to all Samples in the collection
.

additional type op

IRI https://schema.org/additionalType
Is Defined By schema:
Description

An additional type for the item, typically used for adding more specific types from external vocabularies in microdata syntax.

Scope Note

Use this predicate to indicate specialise types of Sample. Different sorts of 'type' may be indicated by using schema:additionalType multiple times linking to concept in different vocabularies.

Example
See example for Sample

material op

IRI https://schema.org/material
Is Defined By schema:
Description

A material that something is made from, e.g. leather, wool, cotton, paper.

Scope Note

Use this predicate to indicate the Sample's material from a materials vocabulary.

Example
See example for Sample

location op

IRI https://schema.org/location
Is Defined By schema:
Description

The location of, for example, where an event is happening, where an organization is located, or where an action takes place.

Scope Note

Use this predicate to indicate any form of location for a sample: either where it was obtained from (origin) or where it is now (current). Link this predicate to a Blank Node or Named Node object that contains all information needed to understand the location, such as which role applies to it and what the location position is, ine their geographical coordinates or other forms of position, including street addresses and simple descriptions.

Example
See example for Sample

date created op

IRI https://schema.org/dateCreated
Is Defined By schema:
Description

The date on which the CreativeWork was created or the item was added to a DataFeed.

Scope Note

Use this predicate to indicate the date this Sample was created by an act of Sampling. This predicate is equivalent to a chain of predicates sosa:isResultOf -> sosa:resulttime where the node between them is a SOSA Sampling instance.

Example
See example for Sample

is result of op

IRI http://www.w3.org/ns/sosa/isResultOf
Is Defined By https://www.w3.org/TR/vocab-ssn/
Description

Relation linking a Result to the Observation or Actuation that created or caused it.

Scope Note

Use this predicate to indicate the temporal activity that create it.

Example
PREFIX schema: <https://schema/org/>
PREFIX sosa: <http://www.w3.org/ns/sosa/Sample>

:sample-x
    a sosa:Sample ;
    sosa:isResultOf :sampling-y ;
.

:sample-y
    a sosa:Sampling ;
    sosa:hasResult :sample-x ;
.

qualified attribution op

IRI http://www.w3.org/ns/prov#qualifiedAttribution
Is Defined By https://www.w3.org/TR/prov-o/
Description

Attribution is the ascribing of an entity to an agent. When an entity e is attributed to agent ag, entity e was generated by some unspecified activity that in turn was associated to agent ag. Thus, this relation is useful when the activity is not known, or irrelevant.

Scope Note

Use this predicate to indicate People, Organizations or Systems (Agents) that play, or played, a role in relation to this Sample, such as 'collector' or 'custodian'. The predicate must link to a provAttribution object which, in turn, links to a PROV Agent (via schema:agent) and PROV Role (via PROV hadRole)

Example
See example for Sample
Range Attribution c

agent op

IRI https://schema.org/agent
Is Defined By schema:
Description

The direct performer or driver of the action (animate or inanimate). E.g. John wrote a book..

Scope Note

Use this predicate to indicate a Person, Organization or Systems (Agent) that has a role to play with respect to some object

Example
See example for Sample
Domain Attribution c
Range Agent c

role name op

IRI https://schema.org/roleName
Is Defined By schema:
Scope Note

Use this predicate to indicate any role that something plays with respect to something else. Can be used for Agents in relation to objects or Geometries in relation to Features etc.

Example
See example for Sample
Range Role c

Namespaces

geosamples
https://linked.data.gov.au/def/geosamples/
ont
https://linked.data.gov.au/def/geosamples
owl
http://www.w3.org/2002/07/owl#
prov
http://www.w3.org/ns/prov#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs
http://www.w3.org/2000/01/rdf-schema#
schema
https://schema.org/
skos
http://www.w3.org/2004/02/skos/core#
sosa
http://www.w3.org/ns/sosa/

Legend

c Classes
op Object Properties

made by p y LODE 3.1.4 with the OntPub profile

Table of Contents