Skip to content

Commit

Permalink
Initialised objects of study taxonomy as skos taxonomy (#140)
Browse files Browse the repository at this point in the history
  • Loading branch information
MFSY authored Oct 30, 2018
1 parent 1bcb25b commit bc39d7f
Show file tree
Hide file tree
Showing 6 changed files with 226 additions and 1 deletion.
85 changes: 85 additions & 0 deletions taxonomies/best-practices/name-annotation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# Introduction

This document gathers best practices for lightweight ontology and taxonomy design and edition.
It should be considered as a collection of guidelines to follow when contributing to Neuroshapes ontologies and taxonomies.
Note that the term 'ontology' in this document is used to refer to both ontologies as well as taxonomies.

## Namespaces
The following table shows the set of prefix names and their corresponding namespaces used in this document.


## Best practices on lightweight ontology and taxonomy edition

### Documentation best practices

#### Topic and provenance
An ontology should be annotated with its purpose as well as its provenance. The authorative vocabulary for doing this is the dublin core one.
Its official prefix name is **dc** and the corresponding namespace is **<http://purl.org/dc/elements/1.1/>**.
The following annotation should be provided:
* dc:title
* dc:creator and/or dc:contributor
* dc:subject

#### Versioning

owl:versionInfo is used to provide version information. Its value should match the semantic versioning pattern.
For example "0.1.0" is a valid value for owl:versionInfo whereas "version_1" is not.


### Entity naming

An ontology as well as entities it defines (called here ontology terms) have a [URI](https://www.w3.org/TR/uri-clarification) as identifier.
For example "http://purl.obolibrary.org/obo/NCBITaxon_10090" is the URI of the term "Mus musculus".
The previous URI can have a short form which is called prefix (a stable string) for the ontology and a [CURIE](https://www.w3.org/TR/curie) for the ontology entities.
Let's take the previous example again. The prefix name of (i.e. the short form of) "http://purl.obolibrary.org/obo/NCBITaxon_10090" can be "obo", resulting in a curie of the form "obo:NCBITaxon_10090".
Given the curie "obo:NCBITaxon_10090", "obo" is the prefix name and "NCBITaxon_10090" the fragment.

How to write a good CURIE:

- No underscores (for example **activ**:0000001 instead of **BBP_ACT**:0000001).
- Lower case prefix names (for example "activ" instead of "ACTIV").
- Words instead of numbers as fragment (for example **activ:activity** instead of **activ:0000001**) if the number of ontology entities is small.

#### Ontology term name as single noun
A term name refers to its curie's fragment.

- Use [camel case](https://en.wikipedia.org/wiki/Camel_case) notation:
* concept name should start with a capital letter
* no space is allowed
* good example **"damo:ChannelDistribution"**
* bad examples **"damo:channelDistribution"** or **"damo:channel_Distribution"**


#### Ontology term Annotations: minimal fields

Here are some annotation properties that can be attached to a concept to describe it.

* rdfs:label: a short label that can be used to name the concept. At least a label in English should be provided (using @en as language tag). Note that only one label per language is allowed.
* skos:prefLabel: a preferred label for an ontology term. The rdfs:label value can be reused here. Note that a skos:prefLabel is a rdfs:label.
* Link each term with the ontology which defines it through a rdfs:isDefinedBy assertion.

#### Ontology property name as verb sense

A property name refers to its curie's fragment.

- Use a verb as property name so that a triple (a statement: (term, property, term)) can be easily read.
* for example: "file:aSpecificFile **prop:hasFileExtension** ext:csv" instead of "file:aSpecificFile **prop:fileExtension** ext:csv"
- Use mixed case notation:
* the property name should start with lower case and be capitalized thereafter
* no space is allowed
* good example **"prop:hasFileExtension"**
* bad example **"BBP_PROP:has_file_extension"**
- Link each property with the ontology which defines it through a rdfs:isDefinedBy assertion



### Use of authorative vocabulary

Authorative vocabulary list:

* skos: http://www.w3.org/2004/02/skos/core#
* dc: http://purl.org/dc/elements/1.1/

### Frequent errors

* rdfs:isDefinedBy is not for providing a textual definition for a term or a property but for indicating a resource within which the concept or the property is defined.
3 changes: 3 additions & 0 deletions taxonomies/data-types.ttl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

@prefix : <http://bbp.epfl.ch/neurosciencegraph/ontologies/datatypes/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dt: <http://bbp.epfl.ch/neurosciencegraph/ontologies/datatypes/> .
Expand All @@ -14,6 +15,7 @@
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix schema: <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix datatypes: <http://bbp.epfl.ch/neurosciencegraph/taxonomies/datatypes/> .
@base <http://bbp.epfl.ch/neurosciencegraph/ontologies/datatypes/> .

<http://bbp.epfl.ch/neurosciencegraph/ontologies/datatypes/> rdf:type owl:Ontology ;
Expand Down Expand Up @@ -211,3 +213,4 @@ dt:InVitroSliceWholeCellPatchClampElectrophysiologyTrace rdfs:isDefinedBy <http:


### Generated by the OWL API (version 4.2.8.20170104-2310) https://github.com/owlcs/owlapi

22 changes: 22 additions & 0 deletions taxonomies/licenses.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix nsg: <https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix licenses: <http://bbp.epfl.ch/neurosciencegraph/taxonomies/licenses/> .

licenses: a skos:ConceptScheme ;
rdfs:label "License taxonomy"@en ;
dc:creator "Sy Mohameth Francois <[email protected]>" ;
dc:publisher "Blue Brain Project, EPFL" ;
dc:rights "This work is distributed under a Creative Commons Attribution 4.0 (CC-BY-4.0) Public License <https://creativecommons.org/licenses/by/4.0/>"@en ;
dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
owl:versionInfo "0.1.0" .
90 changes: 90 additions & 0 deletions taxonomies/objects-of-study.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix nsg: <https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix objectsofstudy: <http://bbp.epfl.ch/neurosciencegraph/taxonomies/objectsofstudy/> .

objectsofstudy: a skos:ConceptScheme, owl:Ontology ;
rdfs:label "Categorization of objects of studies"@en ;
dc:creator "Sy Mohameth Francois <[email protected]>" ;
dc:subject "Categorization of objects of studies"@en ;
dc:publisher "Blue Brain Project, EPFL" ;
dc:rights "This work is distributed under a Creative Commons Attribution 4.0 (CC-BY-4.0) Public License <https://creativecommons.org/licenses/by/4.0/>"@en ;
dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
owl:versionInfo "0.1.0" ;
skos:hasTopConcept objectsofstudy:wholebrain,objectsofstudy:ionchannels,objectsofstudy:reactions,objectsofstudy:proteins.

objectsofstudy:wholebrain a skos:Concept;
rdfs:label "Whole Brain"@en;
skos:preflabel "Whole Brain"@en;
skos:definition "Whole Brain"@en;
skos:inScheme objectsofstudy:;
skos:topConceptOf objectsofstudy: .

objectsofstudy:slice a skos:Concept;
rdfs:label "Slice"@en;
skos:preflabel "Slice"@en;
skos:broader objectsofstudy:wholebrain;
skos:inScheme objectsofstudy:;


objectsofstudy:brainregion a skos:Concept;
rdfs:label "Brain Region"@en;
skos:preflabel "Brain Region"@en;
skos:definition "Area of the brain that can be anatomically defined."@en;
skos:broader objectsofstudy:slice;
skos:inScheme objectsofstudy:;


objectsofstudy:circuits a skos:Concept;
rdfs:label "Circuit"@en;
skos:preflabel "Circuit"@en;
skos:definition "A circuit is a specific pattern of connectivity between neurons within a region, it carries out the specific kinds of processing of a region."@en;
skos:broader objectsofstudy:brainregion;
skos:inScheme objectsofstudy:;


objectsofstudy:singlecells a skos:Concept;
rdfs:label "Single Cell"@en;
skos:preflabel "Single Cell"@en;
skos:broader objectsofstudy:circuits;
skos:inScheme objectsofstudy:;



objectsofstudy:synapses a skos:Concept;
rdfs:label "Synapse"@en;
skos:preflabel "Synapse"@en;
skos:broader objectsofstudy:singlecells;
skos:inScheme objectsofstudy:;



objectsofstudy:ionchannels a skos:Concept;
rdfs:label "Ion Channel"@en;
skos:preflabel "Ion Channel"@en;
skos:inScheme objectsofstudy:;
skos:topConceptOf objectsofstudy: .


objectsofstudy:reactions a skos:Concept;
rdfs:label "Reactions"@en;
skos:preflabel "Reactions"@en;
skos:inScheme objectsofstudy:;
skos:topConceptOf objectsofstudy: .


objectsofstudy:proteins a skos:Concept;
rdfs:label "Proteins"@en;
skos:preflabel "Proteins"@en;
skos:inScheme objectsofstudy:;
skos:topConceptOf objectsofstudy: .
3 changes: 2 additions & 1 deletion taxonomies/protocol-types.ttl
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
Expand Down Expand Up @@ -31,4 +32,4 @@ protocol-types:fixationstainingmounting a skos:Concept ;

protocol-types:activity a skos:Concept, nsg:ProtocolType ;
skos:topConceptOf protocol-types: ;
skos:inScheme protocol-types: .
skos:inScheme protocol-types: .
24 changes: 24 additions & 0 deletions taxonomies/roles.ttl
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix nsg: <https://bbp-nexus.epfl.ch/vocabs/bbp/neurosciencegraph/core/v0.1.0/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema: <http://schema.org/> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix vann: <http://purl.org/vocab/vann/> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix roles: <http://bbp.epfl.ch/neurosciencegraph/taxonomies/roles/> .

roles: a skos:ConceptScheme ;
rdfs:label "Categorization of roles of contributors involved in activities"@en ;
dc:creator "Sy Mohameth Francois <[email protected]>" ;
dc:contributor "Anna-Kristin Kaufmann <[email protected]>" ;
dc:contributor "Lu Huanxiang <[email protected]>" ;
dc:publisher "Blue Brain Project, EPFL" ;
dc:rights "This work is distributed under a Creative Commons Attribution 4.0 (CC-BY-4.0) Public License <https://creativecommons.org/licenses/by/4.0/>"@en ;
dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
owl:versionInfo "0.1.0" .

0 comments on commit bc39d7f

Please sign in to comment.