OntPub Profile - Specification
- IRI
https://w3id.org/profile/ontpub/spec
- Title
- OntPub Profile - Specification Document
- Definition
- This document specifies the OntPub Profile. It is to be used to inform people about the requirements that need to be met by data claiming to conform to the profile.
- Created
- 2022-03-06
- Modified
- 2022-04-07
- Creator
- Nicholas J. Car
- Publisher
- Australian Government Linked Data Working Group
- Further metadata
- This specification is part of the Ontology Publication Profile of OWL, RDFS, schema.org and SKOS (OntPub). See that profile's main document for License & Rights information and other metadata not given here.
- Profile IRI
https://w3id.org/profile/ontpub
Abstract
This is the specification document of the Australian Government Linked Data Working Group's profile of the OWL, RDFS, SKOS and schema.org ontologies used to define and annotate ontologies. It defines the requirements that data must satisfy to be considered conformant with this profile.
This specification is not to be used for testing conformance of RDF resoruces to this profile. That role belongs to the validation resource within this profile:
For the list of all resources within this profile, see the profile definition:
Namespaces
This document refers to elements of various ontologies by short codes using namespace prefixes. The prefixes and their corresponding namespaces' IRIs are:
- dcterms
http://purl.org/dc/terms/
- owl
http://www.w3.org/2002/07/owl#
- prof
http://www.w3.org/ns/dx/prof/
- prov
http://www.w3.org/ns/prov#
- sdo
https://schema.org/
- skos
http://www.w3.org/2004/02/skos/core#
- rdfs
http://www.w3.org/2000/01/rdf-schema#
1. Introduction
The Australian Government Linked Data Working Group (AGLDWG) defines an ontology as a possibly complex and quite formal collection of terms (after the W3C's ontology page). Additionally, those terms, as relevant to this profile, are defined using the Web Ontology Language (OWL) and annotated for human understanding with elements from several well-known vocabularies, in particular the Simple Knowledge Organization System (SKOS) and schema.org.
This document specifies a profile of OWL, SKOS and schema.org, and by profile, the definition of from the Profiles Vocabularyref is used. A profile is:
A specification that constrains, extends, combines, or provides guidance or explanation about the usage of other specifications.
Here, the other specification(s) being profiled are OWL, SKOS & schema.org.
In the next section, this document describes how these models's elements must be presented to make an ontology that conforms to this profile.
This specification's rules/requirements - are numbered and indicated in red text.
2. Elements & Requirements
2.1 Ontology
The AGLDWG identifies Semantic Web objects with IRI-based persistent identifiers. For this reason:
2.1.1 Each ontology MUST be identified by a IRI
As per the OWL 2 Primerref, a document guiding the use of OWL:
OWL 2 ontologies provide classes, properties, individuals, and data values and are stored as Semantic Web documents
Additionally, OWL ontologies are indicated with the OWL class owl:Ontology
.
To avoid unnecissary complexity, this profile requires that:
2.1.2 Each ontology MUST be presented as a single owl:Ontology
object
For ease of data management:
2.1.3 Each ontology MUST be presented in a single file which does not contain information other than that which is directly part of the ontology and the file is considered the point-of-truth
To ensure ontology can be catalogued effectively and governed:
2.1.4 Each ontology MUST have exactly one title indicated using either the skos:prefLabel
or sdo:name
property that must be a text literal value
2.1.5 Each ontology MUST have exactly one definition value indicated using either the skos:definition
or sdo:description
property that must be a text literal values
2.1.6 Each ontology MUST have exactly one created, exactly one modified and exactly one issued date indicated using the sdo:dateCreated
, sdo:dateModified
& sdo:dateIssued
properties respectively that must be either xsd:date, xsd:dateTime or xsd:dateTimeStamp literal values
2.1.7 Each ontology MUST have at least one creator, indicated using sdo:creator
and at least one sdo:publisher
property that must be IRI values indicating agents, that is instances of sdo:Person
, sdo:Organization
or a subclass of either
2.1.8 Each ontology MAY have at least any number of contributors, indicated using sdo:contributor
property that must be a IRI value indicating an agent, that is an instance of sdo:Person
, sdo:Organization
or a subclass of either
To be able to link ontologies to their non-ontology source information:
2.1.9 Provenance for an owl:Ontology
MUST be indicated by at least one of the following properties: sos:historyNote
, dcterms:source
or prov:wasDerivedFrom
.
If an ontology is based on another Semantic Web resource, such as an ontology or a vocabulary, prov:wasDerivedFrom
should be used to indicate that resource's IRI. If the ontology is based on a resource that is identified by a IRI but which is not a Semantic Web resource, dcterms:source
should be used to indicate the resource's IRI. If the ontology is based on something which cannot be identified by IRI, a statement about the thing should be given in a literal value indicated with the sos:historyNote
property. If the ontology is not based on any other resource or source of information, i.e. this ontology is its only expression, this should be communicated by use of the sos:historyNote
indicating the phrase "This ontology is expressed for the first time here".
To keep track of versions:
2.1.10 OWL ontologies SHOULD indicate a version using the property owl:versionIRI
with an IRI object.
In OWL, categories of things are called classes, relations between things properties, objects individuals and statements in general axioms (see the OWL Primerref).
To assist users locating additional online resources:
2.1.11 OWL ontologies SHOULD indicate any online version controlled source code repository storing the ontology and related content with the sdo:codeRespository
with a xsd:anyURI
object.
NOTE: the property xsd:anyURI
is used instead of an IRI when the object in a triple is a web resource or web address but not expected to be an RDF node in a graph, as will be the case for non-RDF resources such as code repository locations.
To ensure that permissions and obligations of use are understood:
2.1.12 Ontologies SHOULD present a license for its use indicated with the sdo:license
use indicating either the literal text of a license or a URL of a license using the datatype xsd:anyURI
.
2.1.13 Ontologies MAY present usage information alongside license information using the sdo:usageInfo
property indicating either the literal text.
2.1.14 Ontologies SHOULD present a rights holding information for it indicated with properties sdo:copyrightHolder
, sdo:copyrightNotice
and sdo:copyrightYear
. sdo:copyrightHolder
may be used with a text object or, preferrably, an sdo:Person
or sdo:Organization
object.
To ensure non-trivial ontologies:
2.1.15 Ontologies MUST present at least one owl:Class
or rdfs:Property
or owl:NamedIndividual
or owl:Axiom
within the ontology file.
To ensure that all the elements within this ontology are linked to an ontology object:
2.1.16 All owl:Class
, rdfs:Property
and specailised OWL property types, owl:NamedIndividual
and owl:Axiom
instances MUST indicate the ontology that defines then with the rdfs:isDefinedBy
property.
NOTE: not all of the ontology elements used within this ontology need be defined by it: it is expected that ontologies will reuse elements from other ontologies and, when they do, the elements reused should indicate their original defining ontology with the rdfs:isDefinedBy
property.
2.2 All Elements
These requirements apply to all ontology elements, that is owl:Class
, rdfs:Property
, owl:NamedIndividual
and owl:Axiom
instances defined or described (defined elsewhere and reused) in the ontology.
To ensure that each element is identifiable and their meaning isn't obscure or lost:
2.2.1 Each element instance MUST have at least one title indicated using either the skos:prefLabel
or sdo:name
property that must be a language-typed text literal value. Only one value per language is allowed.
NOTE: the use of skos:prefLabel
is preferred over the use of rdfs:label
or dcterms:title
or similar as it is clear that the property indicates the class' primary label and thus secondary labels are explicitly provisioned for with skos:altLabel
, however sdo:description
is also permitted to facilitate use of the schema.org
namespace only.
2.2.2 Each element instance MUST have at least one definition indicated using the skos:definition
or sdo:description
property that must be a language-typed text literal value. Only one value per language is allowed.
NOTE: the use of skos:definition
is preferred over the use of rdfs:comment
or dcterms:description
or similar as it is clear that the property defines, rather than just providing other, non-normative information, however sdo:description
is also permitted to facilitate use of the schema.org
namespace only.
To preserve derivation lineage:
2.2.3 Provenance for a element, if different from that of the owl:Ontology
being validated, SHOULD be indicated by at least one of the following properties: sos:historyNote
, dcterms:source
or prov:wasDerivedFrom
.
To assist with understanding of how to use classes:
2.2.4 Each element in an ontology SHOULD have at least one example of use indicated with a skos:example
property that should be a text literal, preferably showing RDF source code.
2.2.5 Each element in an ontology SHOULD indicate any non-IRI persistent identifiers with sdo:identifier
properties. Custom datatypes may be implemented for identifiers, in line with the advice for the use of skos:notation
ref.
2.3 Class
To keep with OWL ontology notational convention:
2.3.1 Each owl:Class
instance's IRI's unique element SHOULD be presented in uppercase-leading CamelCase and in the singular form, e.g. for a class indicating school students, SchoolStudent
, not schoolstudent
or schoolStudent
or SchoolStudents
.
2.4 Property
NOTE: OWL ontologies typically define specialised forms of rdfs:Property
, such as owl:ObjectProperty
and owl:DatatypeProperty
however the requirements here are for all forms of property thus this specification uses only rdfs:Property
.
To keep with OWL ontology notational convention:
2.4.1 Each rdfs:Property
instance's IRI's unique element SHOULD be presented in lowercase-leading CamelCase, e.g. for a property indicating a parent, hasParent
, not hasparent
or HasParent
2.5 Named Individual
To keep with OWL ontology notational convention:
2.5.1 Each owl:NamedIndividual
instance's IRI's unique element SHOULD be presented in lowercase-leading CamelCase, e.g. for a Named Individual called Julius Ceasar, juliusCeasar
, not JuliusCeasar
or juliusceasar
2.6 Axiom
To keep with OWL ontology notational convention:
2.6.1 Each owl:Axiom
instance, if identified with an IRI, SHOULD have that IRI's unique element presented in uppercase-leading CamelCase and in the singular form, e.g. for an axiom indicating that a Man s a Person, ManIsAPerson
, not manIsAPerson
or manisaperson
or man-is-a-person
.
2.7 Agent
Agents are the people and organisations associated with an ontology, as opposed to people and organisations defined within one, which are just considered additional ontology elements.
To represent agents as Semantic Web objects, not just literal text values:
2.7.1 Each agent associated with an ontology MUST be typed as an sdo:Person
, sdo:Organization
or a subclass of either
To ensure human readability and association of agents with their non-Semantic Web (real world) form:
2.7.2 Each agent MUST indicate exactly one name property with the sdo:name
property that must be a text literal value
To ensure that agents are linked to non-Semantic Web forms of identification:
2.7.3 Each agent MUST indicate either a sdo:url
(for organizations) or a sdo:email
(for people) property with a URL or email value
2.7.4 One agent MAY be affiliated with another using schema.org agent/agent linking properties, such as sdo:affiliation
between persons and organisations or sdo:parentOrganization
and similar between organizations.
2.7.5 Other schema.org Agent properties, such as sdo:honorificPrefix
and so on many be used for additional agent information
3. References
- PROV
- Rob Atkinson; Nicholas J. Car (eds.). The Profiles Vocabulary. 18 December 2019. W3C Working Group Note. URL: https://www.w3.org/TR/dx-prof/
- OWL Primer
- Hitzler P., Krötzsch M., Parsia, P., Patel-Schneider P.F. & Rudolph S. (eds.). OWL 2 Web Ontology Language Primer (Second Edition). 11 December 2012. W3C Recommendation. URL: https://www.w3.org/TR/owl2-primer/
- SKOS
- Alistair Miles; Sean Bechhofer (eds.). SKOS Simple Knowledge Organization System Reference. 18 August 2009. W3C Recommendation. URL: https://www.w3.org/TR/skos-reference/
- Semantic Web
- World Wide Web Consortium. Semantic Web 2015. Web Page. URL: https://www.w3.org/standards/semanticweb/, accessed 2020-06-14