Permalink
Browse files

Merge pull request #68 from udp/sep32

SEP 032 -- Do not rename ontologically defined predicates
  • Loading branch information...
nroehner committed Jan 22, 2019
2 parents 1bda258 + 099346a commit b0c741c9f35660b23dc25e6c8de30878de9baa65
Showing with 99 additions and 0 deletions.
  1. +99 −0 sep_032.md
@@ -0,0 +1,99 @@
SEP 032 -- Do not rename ontologicially defined predicates
===================================

SEP | 032
----------------------|--------------
**Title** | Do not rename ontologically defined predicates
**Authors** | James Alastair McLaughlin (j.a.mclaughlin@ncl.ac.uk)
**Editor** |
**Type** | Data Model
**SBOL Version** | 3
**Replaces** |
**Status** | Draft
**Created** | 07-Dec-2019
**Last modified** | 07-Dec-2019

## Abstract

SBOL uses many terms from existing ontologies, such as Dublin Core and Prov-O. Currently, the specification is written in a manner such that those terms are given a new "SBOL alias" sometimes, but not always, distinct from the name assigned to them by the ontology. This SEP proposes that the name assigned by the ontology is always used.


## Motivation

The SBOL specification intentionally uses terms from existing ontologies where appropriate. For example, instead of SBOL defining the concept of a "title" or "description", it instead uses the already accepted `dcterms:title` and `dcterms:description` properties from the Dublin Core ontology. This makes a lot of sense: rather than attempting to define everything from scratch, SBOL builds on decades of semantic web research in creating ontological definitions.

However, in the way that the SBOL specification is written, each ontology term first has to be given an "SBOL alias". For example, the `dcterms:title` property is first introduced as "name":

> The name property is OPTIONAL and has a data type of String.
And then later "mapped" to an ontology term in the "Serialization" section:

> name is serialized as dcterms:title
This approach has a number of issues:

* It assumes the SBOL is being serialized at all. In the days of SBOL1 this may have been the case, but with SBOL2 the SBOL is often contained in triplestores (e.g. synbiohub) and queried using SPARQL queries. In this case, there is no "name" alias but only "dcterms:title".
* It makes serialized SBOL extremely confusing to read, because the ontologically-defined names used in the serialization do not match the specification-defined names used by SBOL libraries
* As we have adopted new ontologies, it has resulted in clunky names for properties. For example, SBOL renames the `prov:wasDerivedFrom` property to "wasDerivedFroms" for consistency with other aliases used in the specification.
* It means that integrating terms from other ontologies requires a two-step process of writing their description as SBOL "aliases" and then writing their "serialization"

SBOL is likely to adopt new ontologies in the future, and this process should be as easy as possible. Aligning the SBOL specification as closely as possible with the ontologies it references, therefore, is desirable.

## Specification

Properties renamed from their respective ontologies, e.g. "name", are changed back to their original names e.g. "title". Statements such as:

> The name property is OPTIONAL and has a data type of String
would be changed to

> The title property is OPTIONAL and has a data type of String. It is defined by the Dublin Core ontology and is located in the dcterms namespace.
with a link to the respective ontology. Statements describing "sets" such as:

> The wasDerivedFroms property is OPTIONAL and MAY specify a set of URIs.
would be changed to more abstract data model definitions such as:

> The wasDerivedFrom property is OPTIONAL and MAY be used to specify one or more URIs. It is defined by the Prov-O ontology and is located in the prov namespace.

## Backwards Compatibility <a name='compatibility'></a>

This SEP would only change specification wording; serialization would remain identical, and is therefore fully forwards and backwards compatible. However, as it is a widespread change to the wording of the specification it has been provisionally grouped with the SBOL3 SEPs.


## Discussion <a name='discussion'></a>

### 5.1 Related SEPs


## Competing SEPs <a name='competing_seps'></a>

None.

References <a name='references'></a>
----------------

Copyright <a name='copyright'></a>
-------------

<p xmlns:dct="http://purl.org/dc/terms/" xmlns:vcard="http://www.w3.org/2001/vcard-rdf/3.0#">
<a rel="license"
href="http://creativecommons.org/publicdomain/zero/1.0/">
<img src="http://i.creativecommons.org/p/zero/1.0/88x31.png" style="border-style: none;" alt="CC0" />
</a>
<br />
To the extent possible under law,
<a rel="dct:publisher"
href="sbolstandard.org">
<span property="dct:title">SBOL developers</span></a>
has waived all copyright and related or neighboring rights to
<span property="dct:title">SEP 002</span>.
This work is published from:
<span property="vcard:Country" datatype="dct:ISO3166"
content="US" about="sbolstandard.org">
United Kingdom</span>.
</p>


0 comments on commit b0c741c

Please sign in to comment.