Clarifications on "reuse"

In the Semantic Web literature, the term "reuse" appears very often, encouraging the adoption of data specifications in new data specifications rather than redefining the same/similar concepts once again. The term "reuse" is usually considered in a broad sense, and what it means in terms of specific implementations is often left underspecified. In this section, we aim to address this gap and provide a detailed account of what "reuse" means in the SEMIC context.

What is the reuse of an (ontology or data shape) specification?

Specification reuse is the act of sourcing an established specification into a new one (referred to as the "current" or "own" specification).

Technically, reuse may mean either or both of the following:

  • Importing (using owl:imports) the contents of another ontology or data shape specification into a current one; OR

  • relying on URI dereferencing to get the formal definition of the ontology (this, however, does not work for the data shapes) In the SEMIC context, for the purpose of interoperability, we need to carefully constrain the meaning of the term "reuse" with a fine-grained description on a construct-by-construct basis, and this is the aim of the remainder of this section.

The following subsections offer a systematic description of six cases of reuse based on what is reused: (a) a class or (b) a property, and types of frequently encountered variations: (i) as-is, (ii) with terminological adaptations, and (iii) with semantic adaptations.

In each case, we describe as appropriate the implications on the following aspects:

  • How to denote it: (a) as-is or (b) as a specialisation

  • Label

  • Definition

  • Impact of adding new properties (for classes only)

  • Impact of reusing original properties (for classes only)

  • Impact on domain and range (for properties only)

  • Other constraints and additional information

Reuse of a class as-is

This scenario applies when the original class is reused without terminological or semantic changes.

Reuse Aspect

Description

How to denote

Reuse as-is.

Adopt the original URI and its definition.

Label

NO change allowed

Definition

NO change allowed

New properties on the class

In data shapes (SHACL), the class can be used for in domain/range property constraints.

In UML, properties are depicted as new connections (object properties) that are incoming and outgoing to the class or as new attributes (data properties) that appear in the class.

This works because OWL 2 semantics treats properties as first-class citizens (along with classes, datatypes and individuals). So even if the UML class diagram may visualise new properties on the class, they shall be read as constructs defined separately from one another, just as the OWL 2 specification defines it [owl2].

The properties on the superclasses of the reused class are considered inherited. When introducing new properties, do not duplicate existing ones in the superclass(es). Also, make sure there are no logical contradictions [CS-R5].

Original properties on the class as defined in the context of a data specification

In OWL 2 & SHACL, when reusing a class as-is from an established ontology hereafter called the original, all properties and constraints associated with the class are considered adopted (even if some may be irrelevant).

It is recommended to make the reuse of the original clear (by notes, hyperlinks or dereferenceable URIs of the terms) at the class level.

In UML, all properties marked as mandatory in the original data specification are considered relevant and shall be depicted. Optional properties may be depicted only if relevant in the new context.

The properties on the superclasses of the reused class are considered inherited and may be depicted in the UML diagram as necessary for reuse.

Reuse of a class with terminological adaptations

This scenario applies when the original class is reused without semantic changes. Still, a label or definition needs to be modified to reflect the meaning in the new context accurately.

Reuse Aspect

Description

How to denote reuse

Reuse as-is.

Adopt the original URI and its definition.

If the goal of the terminological adaptations is to rely on the specification as provided for the original URI, apply the guidelines of reuse as-is. Add, if necessary, a note to clarify this.

Creating a sub-class that captures the adaptations is recommended as the safe option.

Label

Changes to the label are NOT recommended.

Some exceptions may be accepted in the case of close synonyms, yet the meaning/semantics must stay the same.

Differentiation through using preferred and alternative labels is a strong recommendation and should be implemented as described below.

In UML, - the new label is indicated in the UML Element Name (in CamelCase, no spaces, to provide visibility for the User Community of the Model) - the (original) URI of the reused class shall be indicated (e.g. in a UML Element Tag) - the original label of the reused concept shall be preserved (e.g. in a UML Element Tag + a marker that special name management shall take place)

In OWL 2, - the original label is adopted as is (e.g. either rdfs:label or skos:prefLabel) - the new label is added as an alternative label (e.g. skos:altLabel)

In the documentation, - the new label displayed as the main label (in titles and any other fronting) - the original label (to be visibly mentioned)

Definition

NO change allowed

Any scoping or nuancing provided in the original data specification should be copied. In addition, new scoping or nuancing shall be provided in the scope notes (e.g. skos:scopeNote).

New properties on the class

Same recommendation as for reusing the class as-is

Original properties on the class

Same recommendation as for reusing the class as-is

Example

For example, the wording of FOAF definitions can benefit from light adaptations and adjustments, yet the meaning is not changing. Hence, in Core Person Vocabulary, the definitions are slightly adjusted. Such adaptations might be made when the original label or definition does not follow the guidelines laid out in this document. For example, the one on circular definitions [GC-R5].

Reuse of a class with semantic adaptations

This scenario applies when the original class is reused with semantic changes, which also implies terminological adaptations.

Reuse Aspect

Description

How to denote reuse

Must reuse as a specialisation.

Must create a subclass that captures the adaptations and indicate reuse by the subclass relationship.

If the reused class is itself a specialisation of a third specification, then both shall be explicitly mentioned. In general, we shall show the whole reuse chain (in the conceptual model and especially in the documentation via notes and hyperlinks).

Label

Provide a new label that is more specific than the one in the reused class

Definition

Provide a new definition that is more specific than the reused class

New properties on the class

Add new properties as necessary on the new (owned) sub-class.

The properties on the superclasses of the reused class are considered inherited. When introducing new properties, do not duplicate existing ones in the superclass(es). Make sure there are no logical contradictions [CS-R5].

Original properties on the class as defined in the context of a data specification

When reusing a class as-is from a data specification, hereafter called the original, all properties and constraints associated with the class should be adopted.

In UML, include all properties and constraints in the UML diagram if marked as mandatory in the original. For the sake of brevity, optional properties and constraints can be omitted.

The properties on the superclasses of the reused class are considered inherited and may be depicted in the UML diagram as necessary for the purpose of reuse.

If a reused original property must be made more specific or nuanced, then it is a good idea to create a sub-property of the already existing one. See property reuse recommendations below.

Example

For example, in the Core Public Organisation Vocabulary, the reused class org:Organisation is specialised as cv:PublicOrganisation.

Reuse of a property as-is

This scenario applies when the original property is reused without terminological or semantic changes.

Reuse Aspect

Description

How to denote reuse

Property as-is.

Adopt the original URI and its definition.

Label

NO change allowed

Definition

NO change allowed

Domain and range

If the reused property

* does not define a domain and range (in the original ontology) AND

* its definition does NOT mention explicit restrictions on the domain and range (in the data shape) then it can be attached in UML diagrams (in the owned data specification) to any class either as a) a relation (pointing to another class) or b) as an attribute with a specific datatype.

If the reused property

* defines a domain and range (in the original ontology) OR

* its definition DOES mention explicit restrictions on the domain and range (in the data shape), then it must be reflected in the UML diagrams (in the owned data specification) accordingly, i.e. it can be applied only on specified classes.

When UML is transformed into other representations, it is not recommended to represent the domain/range definitions in the lightweight ontology (OWL 2). Still, it may be reflected in data shape definitions (SHACL) as constraints.

When the UML is transformed into other representations, the inclusion of domain/range statements is dependent on the "reuse" intention of the data specification.

In case of a broad reuse intention, as for the SEMIC Core Vocs, it is not recommended to include them in the lightweight ontology but better reflect them as constraints in SHACL, where necessary (i.e. optional properties can stay free of domain/range specification) [CS-R2]. Note: in the case of narrow reuse intention, as for the application profiles, it is recommended to provide domain/range constraints in the data shape definitions (using SHACL) even if those are optional.

Other constraints and additional information

When reusing a property as-is from a data specification, then all constraints associated with the property should be adopted.

It is recommended to make the reuse of the original clear (by notes, hyperlinks or dereferenceable URIs of the terms) at the class level.

In no way should the UML contain conflicting constraints compared to the original data specification.

When the UML is transformed into other representations, the lightweight ontology may be augmented with descriptive information, while (logical) constraints are to be expressed as SHACL.

Reuse of a property with terminological adaptations

This scenario applies when the original property is reused without semantic changes. Still, a label or definition needs to be modified to reflect the meaning in the new context accurately.

Reuse Aspect

Description

How to denote the reuse

Property as-is.

Adopt the original URI and its definition.

If the goal of the terminological adaptations is to rely on the specification as provided for the original URI, apply the guidelines of reuse as-is. Add, if necessary, a note to clarify this.

Creating a sub-property that captures the adaptations is recommended as a safe option, however.

If the reused property, is itself a specialisation of a third specification, then both shall be explicitly mentioned. In general, we shall show the whole reuse chain (in the conceptual model, and especially in the documentation via notes and hyperlinks).

Label

Changes to the label are NOT recommended.

Some exceptions may be accepted in the case of close synonyms, yet the meaning/semantics MUST stay the same.

We strongly recommend differentiating between preferred labels and alternative labels and should be implemented as described below.

In UML,

* the new label is indicated in the UML Element Name (in CamelCase, no spaces, to provide visibility for the User Community of the Model)

* URI of the reused property shall be indicated (e.g. in a UML Element Tag)

* the original label of the reused concept shall be indicated (e.g. in a UML Element Tag + a marker that special name management shall take place)

In OWL 2,

* original label (as is, either rdfs:label or skos:prefLabel)

* new label (as an alternative label, skos:altLabel)

In the documentation,

* original label (to be visibly mentioned)

* new label (in titles and any other fronting)

Definition

Changes are NOT allowed.

Any scoping or nuancing provided in the original data specification should be copied. In addition, new scoping or nuancing shall be provided in the scope notes (e.g., skos:scopeNote ).

Domain and range

Same recommendation as for reusing property, as is

Other constraints and additional information

Same recommendation as for reusing property, as is

Example

For example, in DCAT-AP the reused property adms:status is relabeled from "status" to "change type" for Catalogue Record class. Note that the diagram does not reflect this, but it is reflected in the associated documentation.

DCAT-AP Catalogue Record

Reuse of a property with semantic adaptations

This scenario applies when the original property is reused with semantic changes, which also implies terminological adaptations.

Reuse Aspect

Description

How to denote the reuse

Must create a sub-property that captures the adaptations.

In UML, a connector is created denoting a new property, which specialises another connector denoting the original property.

Additionally, notes or hyperlinks shall be provided to the original source.

Label

Provide a new label that is more specific than the one in the reused property

Definition

Provide a new definition that is more specific than the one of the reused property

Domain and range

If the reused super property does NOT define domain/range, then it is possible to add domain/range specifications to the sub-property, but only if justified and absolutely necessarily. In UML, feel free to attach it anywhere needed.

If the reused super property DOES define a domain/range, DO not override them, i.e. do not specify a new domain/range that leads to logical inconsistencies. Specifically, if you do that, then make sure that the new Domain is a subclass of the Original Domain.

If the property is used across multiple classes multiple domain/range specifications can be deemed appropriate. This shall be handled with care. Multiple domain/range definitions in OWL 2 mean intersection (i.e. joined by logical AND) and not the union (i.e. joined by logical OR), as most use cases may require.

When the UML is transformed into other representations, the inclusion of domain/range statements is dependent on the "reuse" intention of the data specification.

In case of a broad reuse intention, as for the SEMIC Core Vocabularies, it is not recommended to include them in the lightweight ontology but optionally reflect them as permissive constraints in SHACL. In case of narrow reuse intention, as for the Application Profiles, it is recommended to provide domain/range specifications in the data shape definitions even if those are optional.

Other constraints and additional information

Feel free to provide any additional information that is deemed necessary.

When the UML is transformed into other representations, the lightweight ontology may be augmented with descriptive information, while (logical) constraints are to be expressed as SHACL.

Example

For example, in the DCAT-AP the reused property dct:hasPart is specialised as dcat:dataset. Note that the subproperty relation between the two is not depicted in the diagram, but is stated in the data shape specification.

DCAT-AP Dataset