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:notationref.

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