Open egonw opened 3 years ago
The (simple) tutorial write up should go into https://github.com/nanocommons/tutorials and can refer to (and without not list general info) https://github.com/enanomapper/tutorials/tree/master/Added%20ontology%20terms
An example of a new term, unavailable from any ontology
If you want to add a term which does not exist in any ontology, or you can't find a term which has the right definition that covers your terminology than we can just create a new term. An important part is to select a new and unique term identifier (IRI) for the term you want to add. Additionally, it is important to place your commit in the right file. Lets look at the way the commit should be structured first.
New terms are defined as Web Ontology Language (OWL) classes, and should have a unique identifier, a label, and a superclass.
For example it may look like:
<!-- http://purl.enanomapper.org/onto/ENM_0000115 -->
<owl:Class rdf:about="http://purl.enanomapper.org/onto/ENM_0000115">
<rdfs:subClassOf rdf:resource="http://purl.bioontology.org/ontology/npo#NPO_1597"/>
<rdfs:label xml:lang="en">protein corona</rdfs:label>
</owl:Class>
The example shows how a term with label protein corona added as a subclass of "http://purl.bioontology.org/ontology/npo#NPO_1597" (which is the superclass). In this example we gave the term protein corona the unique identifier ENM_0000115.
Now we have our label, unique identifier, and superclass we will need to put this in the right file. In this case, because we want to add this term as a subclass of an NPO term, we will add it to the npo-ext.owl file which can be found in the internal folder.
Okay, we have found the right folder. Think about the fact that adding a new term should always be a subclass of a term that is already present in the ENM ontology. So there is no need to create a new *-ext.owl file. Now we have everything in place we can make a pull request, proposing the addition of this term to the ENM ontology.
@egonw should I create a new folder in the NanoCommons/tutorials repo for ontology tutorials? Or where should I put this? Additonally, please check if the tutorial is okay.
Sounds good to me. I don't really have arguments to either being wrong. The advantage of the subfolder is that it is clearly your work and you get credit for it. Make sure to add content like below at the top:
---
layout: default
trainingMaterial:
"@context": http://schema.org/
"@type": CreativeWork
about: "This tutorial discusses the use of OWL Axioms in the eNanoMapper ontology."
name: OWL Axioms in the eNanoMapper ontology
author:
- "@type": Person
name: Egon Willighagen
identifier: 0000-0001-7542-0286
difficultyLevel: [Advanced]
keywords: ontologies, enanomapper, OWL
license: CC-BY 4.0
url:
- "@type": URL
url: https://enanomapper.github.io/tutorials/owlAxioms/
version: 0.0.1
---
And plz update https://github.com/NanoCommons/tutorials/blob/master/sitemap.xml
Do not get what I should update to sitemap.xml.....
Laurent, can you please work out a procedure to add new terms with the below template and write this up as a simple tutorial:
Of the top of my head, I can think of these steps:
ENM
identifier