Skip to content

Commit e00223b

Browse files
authored
Merge pull request #60 from nmrML/Make-2.0alpha-release
This PR makes a new release for nmrCV to reflect the current changes made by NFDI4Chem. Changes summary: * **ATTENTION: This might introduce breaking changes with regard to using nmrCV in conjunction with nmrML! We therefore advise to keep using nmrCV version 1.1.0 with nmrML!** * The maintenance & development of nmrCV was migrated to an [Ontology Development Kit based workflow](https://github.com/INCATools/ontology-development-kit/tree/master), see also: #1, #8, #14 & #30. Due to that nmrCV: * is now also published in the form of `full` and `base` [release artefacts](https://oboacademy.github.io/obook/reference/release-artefacts/) in .obo, .ttl as well as .owl serialization. * now imports terms from exisiting ontologies, such as CHEBI, BFO, RO, OBI & IAO, instead of redefining them anew, * most importantly it imports chemical entites from CHEBI as was initially planned and its nmrCV placeholder terms where thus properly deprecated, see also #13, #18, #26, #29. #53, #54 & #55, * is now using a date based versioning scheme instead of a [semantic versioning scheme](https://semver.org/), starting with the 2025-03-19 release, which can be interpreted as a 2.0_alpha version. * In the present PR the ontology annotations where updated to include the new NFDI4Chem contributors and to reflect the reviving of nmrCV and its new scope. * Annotations specific to the contributors of the previous version where adjusted, in that contributors are now consistently listed individually using `dc:contributor` where no ORCID could be identified and `dcterms.contributor` where corresponding ORCIDs could be identified. * The textual definition of `NMR sample` was made more general in #2. * The NMR manufacturer pattern was harmonized with OBI in #40 * The calibration compound branch was improved in #45. * The class `characterized compound` was added in #37 A complete list of changes was created with `robot diff`: * [diff_nmrCV1.1-nmrCV2.0alpha.md](https://github.com/nmrML/nmrCV/blob/main/diff_nmrCV1.1-nmrCV_2025-03-20.md) * [diff_nmrCV1.1-nmrCV2.0alpha.html](https://github.com/nmrML/nmrCV/blob/main/diff_nmrCV1.1-nmrCV_2025-03-20.html)
2 parents c681b7c + fee3a1a commit e00223b

23 files changed

+168988
-33350
lines changed

diff_nmrCV1.1-nmrCV_2025-03-20.html

Lines changed: 15694 additions & 0 deletions
Large diffs are not rendered by default.

diff_nmrCV1.1-nmrCV_2025-03-20.md

Lines changed: 20891 additions & 0 deletions
Large diffs are not rendered by default.

nmrCV-base.obo

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,45 @@
11
format-version: 1.2
2-
data-version: nmrCV/releases/2023-11-23/nmrCV-base.owl
3-
ontology: nmrCV/nmrCV-base
4-
property_value: http://purl.org/dc/elements/1.1/type IAO:8000001
5-
property_value: http://purl.org/dc/terms/description "This artefact is an MSI-approved controlled vocabulary primarily developed under COSMOS EU and PhenoMeNal EU governance. The nmrCV is supporting the nmrML XML format with standardized terms. nmrML is a vendor agnostic open access NMR raw data standard. Its primaly role is analogous to the mzCV for the PSI-approved mzML XML format. It uses BFO2.0 as its Top level. This CV was derived from two predecessors (The NMR CV from the David Wishart Group, developed by Joseph Cruz) and the MSI nmr CV developed by Daniel Schober at the EBI. This simple taxonomy of terms (no DL semantics used) serves the nuclear magnetic resonance markup language (nmrML) with meaningful descriptors to amend the nmrML xml file with CV terms. Metabolomics scientists are encouraged to use this CV to annotrate their raw and experimental context data, i.e. within nmrML. The approach to have an exchange syntax mixed of an xsd and CV stems from the PSI mzML effort. The reason to branch out from an xsd into a CV is, that in areas where the terminology is likely to change faster than the nmrML xsd could be updated and aligned, an externally and decentrallised maintained CV can accompensate for such dynamics in a more flexible way. A second reason for this set-up is that semantic validity of CV terms used in an nmrML XML instance (allowed CV terms, position/relation to each other, cardinality) can be validated by rule-based proprietary validators: By means of cardinality specifications and XPath expressions defined in an XML mapping file (an instances of the CvMappingRules.xsd ), one can define what ontology terms are allowed in a specific location of the data model." xsd:string
6-
property_value: http://purl.org/dc/terms/license https://creativecommons.org/publicdomain/mark/1.0/
7-
property_value: http://purl.org/dc/terms/title "nuclear magnetic resonance CV" xsd:string
8-
property_value: owl:versionInfo "2023-11-23" xsd:string
9-
10-
[Term]
11-
id: NMRCV:0000000
12-
name: root node
2+
data-version: http://nmrml.org/cv/2025-03-20/nmrCV-base.owl
3+
idspace: dce http://purl.org/dc/elements/1.1/
4+
idspace: dcterms http://purl.org/dc/terms/
5+
idspace: doap http://usefulinc.com/ns/doap#
6+
idspace: foaf http://xmlns.com/foaf/0.1/
7+
idspace: oboInOwl http://www.geneontology.org/formats/oboInOwl#
8+
idspace: skos http://www.w3.org/2004/02/skos/core#
9+
idspace: vann http://purl.org/vocab/vann/
10+
ontology: http://nmrML.org/nmrCV/nmrCV-base.owl
11+
property_value: dce:contributor "Chris Taylor" xsd:string
12+
property_value: dce:contributor "Dennis Rubtsov" xsd:string
13+
property_value: dce:contributor "Helen Jenkins" xsd:string
14+
property_value: dce:contributor "Irena Spasic" xsd:string
15+
property_value: dce:contributor "Joseph Cruz" xsd:string
16+
property_value: dce:contributor "Larissa Soldatova" xsd:string
17+
property_value: dce:contributor "Michael Wilson" xsd:string
18+
property_value: dce:coverage "Nuclear magnetic resonance (NMR) data annotation as required by the msi sanctioned open\naccess nmrML XML format developed by the COSMOS EU project." xsd:string
19+
property_value: dce:creator "COSMOS - COordination Of Standards In MetabOlomicS Project - WP2 team" xsd:string
20+
property_value: dce:type IAO:8000001
21+
property_value: dcterms:abstract "With this artifact, the Nuclear Magnetic Resonance Controlled Vocabulary (nmrCV) is undergoing a significant evolution to become an ontology designed to describe NMR spectroscopy experiments and their outputs in detail, supporting FAIR research data management. Initially, nmrCV v1.1.0 was deliberately designed as a controlled vocabulary, not a formal ontology with Description Logic (DL) semantics. It was approved by th Metabolomics Standards Initiative (MSI) and serves to provide descriptors for the nuclear magnetic resonance markup language (nmrML), enabling vendor-agnostic NMR data sharing, particularly within NMR metabolomics. Since version 1.1.0, nmrCV had not been updated nor actively maintained.\n\nRecognizing the need for a DL-enabled NMR spectroscopy ontology suitable for use independently of nmrML within a larger ontology framework, and addressing the limitations of the original controlled vocabulary, Germany's National Research Data Infrastructure project for Chemistry (NFDI4Chem) took on the responsibility for nmrCV's further development and maintenance. This decision was made after a discussion about its optimal integration within the broader ontology landscape at the third Ontologies4Chem workshop in fall 2023.\n\nThe decision to build upon nmrCV v1.1.0 was based on its existing definition of essential concepts, its BFO alignment, and its planned integration with ontologies like the Ontology for Biomedical Investigations (OBI) and the Chemical Entities of Biological Interest (ChEBI). Improvements in the present version include replacing out-of-scope and placeholder terms with more suitable equivalents from established ontologies like OBI and ChEBI, adhering to the OBO Foundry principles, corrections regarding the BFO subsumption and other established ontology design patterns, as well as the introduction of DL semantics.\n\n⚠️ Compatibility Note: Due to these significant changes, which prioritize ontology rigor over nmrML alignment, this and future versions of nmrCV may introduce breaking changes for nmrML users. Therefore, nmrML users are strongly advised to thoroughly test new nmrCV versions before production deployment. Alternatively, users may choose to continue using nmrCV v1.1.0, which was specifically designed for nmrML compatibility." xsd:string
22+
property_value: dcterms:contributor https://orcid.org/0000-0001-5306-5690
23+
property_value: dcterms:contributor https://orcid.org/0000-0001-5687-9059
24+
property_value: dcterms:contributor https://orcid.org/0000-0001-8604-1732
25+
property_value: dcterms:contributor https://orcid.org/0000-0002-1595-3213
26+
property_value: dcterms:contributor https://orcid.org/0000-0002-3207-2434
27+
property_value: dcterms:contributor https://orcid.org/0000-0002-6687-7169
28+
property_value: dcterms:contributor https://orcid.org/0000-0002-7899-7192
29+
property_value: dcterms:contributor https://orcid.org/0000-0002-8148-6895
30+
property_value: dcterms:contributor https://orcid.org/0000-0003-1144-3600
31+
property_value: dcterms:contributor https://orcid.org/0009-0001-5998-5030
32+
property_value: dcterms:created "2025-03-20" xsd:string
33+
property_value: dcterms:license https://creativecommons.org/publicdomain/mark/1.0/
34+
property_value: dcterms:references "https://doi.org/10.1021/acs.analchem.7b02795" xsd:string
35+
property_value: dcterms:title "nuclear magnetic resonance CV" xsd:string
36+
property_value: doap:audience "This CV is to be used by metabolomics researchers, or basically any chenomics or proteomics researchers who apply the nmrML xml to store their NMRraw data in a vendor agnostic manner. But nmrML can also be used to capture experimental results and (limited) basic metadata like molecule to spectral feature assignments." xsd:string
37+
property_value: doap:bug-database "https://github.com/nmrML/nmrCV/issues" xsd:string
38+
property_value: doap:implements "https://github.com/nmrML/nmrML" xsd:string
39+
property_value: doap:location "https://github.com/nmrML/nmrCV" xsd:string
40+
property_value: doap:maintainer https://www.wikidata.org/wiki/Q96678459
41+
property_value: owl:priorVersion https://nmrml.org/cv/v1.1.0/nmrCV.owl
42+
property_value: owl:versionInfo "2.0_alpha" xsd:string
43+
property_value: owl:versionInfo "2025-03-20" xsd:string
44+
property_value: vann:preferredNamespacePrefix "nmrCV" xsd:string
1345

nmrCV-base.owl

Lines changed: 118 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,62 @@
11
<?xml version="1.0"?>
2-
<rdf:RDF xmlns="http://purl.obolibrary.org/obo/nmrCV/nmrCV-base.owl#"
3-
xml:base="http://purl.obolibrary.org/obo/nmrCV/nmrCV-base.owl"
2+
<rdf:RDF xmlns="http://nmrML.org/nmrCV/nmrCV-base.owl#"
3+
xml:base="http://nmrML.org/nmrCV/nmrCV-base.owl"
44
xmlns:dce="http://purl.org/dc/elements/1.1/"
5+
xmlns:obo="http://purl.obolibrary.org/obo/"
56
xmlns:owl="http://www.w3.org/2002/07/owl#"
67
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
78
xmlns:xml="http://www.w3.org/XML/1998/namespace"
89
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
10+
xmlns:doap="http://usefulinc.com/ns/doap#"
11+
xmlns:foaf="http://xmlns.com/foaf/0.1/"
912
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
10-
xmlns:dcterms="http://purl.org/dc/terms/">
11-
<owl:Ontology rdf:about="http://purl.obolibrary.org/obo/nmrCV/nmrCV-base.owl">
12-
<owl:versionIRI rdf:resource="http://purl.obolibrary.org/obo/nmrCV/releases/2023-11-23/nmrCV-base.owl"/>
13+
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
14+
xmlns:vann="http://purl.org/vocab/vann/"
15+
xmlns:dcterms="http://purl.org/dc/terms/"
16+
xmlns:oboInOwl="http://www.geneontology.org/formats/oboInOwl#">
17+
<owl:Ontology rdf:about="http://nmrML.org/nmrCV/nmrCV-base.owl">
18+
<owl:versionIRI rdf:resource="http://nmrml.org/cv/2025-03-20/nmrCV-base.owl"/>
19+
<dce:contributor>Chris Taylor</dce:contributor>
20+
<dce:contributor>Dennis Rubtsov</dce:contributor>
21+
<dce:contributor>Helen Jenkins</dce:contributor>
22+
<dce:contributor>Irena Spasic</dce:contributor>
23+
<dce:contributor>Joseph Cruz</dce:contributor>
24+
<dce:contributor>Larissa Soldatova</dce:contributor>
25+
<dce:contributor>Michael Wilson</dce:contributor>
26+
<dce:coverage>Nuclear magnetic resonance (NMR) data annotation as required by the msi sanctioned open
27+
access nmrML XML format developed by the COSMOS EU project.</dce:coverage>
28+
<dce:creator>COSMOS - COordination Of Standards In MetabOlomicS Project - WP2 team</dce:creator>
1329
<dce:type rdf:resource="http://purl.obolibrary.org/obo/IAO_8000001"/>
14-
<dcterms:description>This artefact is an MSI-approved controlled vocabulary primarily developed under COSMOS EU and PhenoMeNal EU governance. The nmrCV is supporting the nmrML XML format with standardized terms. nmrML is a vendor agnostic open access NMR raw data standard. Its primaly role is analogous to the mzCV for the PSI-approved mzML XML format. It uses BFO2.0 as its Top level. This CV was derived from two predecessors (The NMR CV from the David Wishart Group, developed by Joseph Cruz) and the MSI nmr CV developed by Daniel Schober at the EBI. This simple taxonomy of terms (no DL semantics used) serves the nuclear magnetic resonance markup language (nmrML) with meaningful descriptors to amend the nmrML xml file with CV terms. Metabolomics scientists are encouraged to use this CV to annotrate their raw and experimental context data, i.e. within nmrML. The approach to have an exchange syntax mixed of an xsd and CV stems from the PSI mzML effort. The reason to branch out from an xsd into a CV is, that in areas where the terminology is likely to change faster than the nmrML xsd could be updated and aligned, an externally and decentrallised maintained CV can accompensate for such dynamics in a more flexible way. A second reason for this set-up is that semantic validity of CV terms used in an nmrML XML instance (allowed CV terms, position/relation to each other, cardinality) can be validated by rule-based proprietary validators: By means of cardinality specifications and XPath expressions defined in an XML mapping file (an instances of the CvMappingRules.xsd ), one can define what ontology terms are allowed in a specific location of the data model.</dcterms:description>
30+
<dcterms:abstract xml:lang="en">With this artifact, the Nuclear Magnetic Resonance Controlled Vocabulary (nmrCV) is undergoing a significant evolution to become an ontology designed to describe NMR spectroscopy experiments and their outputs in detail, supporting FAIR research data management. Initially, nmrCV v1.1.0 was deliberately designed as a controlled vocabulary, not a formal ontology with Description Logic (DL) semantics. It was approved by th Metabolomics Standards Initiative (MSI) and serves to provide descriptors for the nuclear magnetic resonance markup language (nmrML), enabling vendor-agnostic NMR data sharing, particularly within NMR metabolomics. Since version 1.1.0, nmrCV had not been updated nor actively maintained.
31+
32+
Recognizing the need for a DL-enabled NMR spectroscopy ontology suitable for use independently of nmrML within a larger ontology framework, and addressing the limitations of the original controlled vocabulary, Germany&apos;s National Research Data Infrastructure project for Chemistry (NFDI4Chem) took on the responsibility for nmrCV&apos;s further development and maintenance. This decision was made after a discussion about its optimal integration within the broader ontology landscape at the third Ontologies4Chem workshop in fall 2023.
33+
34+
The decision to build upon nmrCV v1.1.0 was based on its existing definition of essential concepts, its BFO alignment, and its planned integration with ontologies like the Ontology for Biomedical Investigations (OBI) and the Chemical Entities of Biological Interest (ChEBI). Improvements in the present version include replacing out-of-scope and placeholder terms with more suitable equivalents from established ontologies like OBI and ChEBI, adhering to the OBO Foundry principles, corrections regarding the BFO subsumption and other established ontology design patterns, as well as the introduction of DL semantics.
35+
36+
⚠️ Compatibility Note: Due to these significant changes, which prioritize ontology rigor over nmrML alignment, this and future versions of nmrCV may introduce breaking changes for nmrML users. Therefore, nmrML users are strongly advised to thoroughly test new nmrCV versions before production deployment. Alternatively, users may choose to continue using nmrCV v1.1.0, which was specifically designed for nmrML compatibility.</dcterms:abstract>
37+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0001-5306-5690"/>
38+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0001-5687-9059"/>
39+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0001-8604-1732"/>
40+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0002-1595-3213"/>
41+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0002-3207-2434"/>
42+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0002-6687-7169"/>
43+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0002-7899-7192"/>
44+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0002-8148-6895"/>
45+
<dcterms:contributor rdf:resource="https://orcid.org/0000-0003-1144-3600"/>
46+
<dcterms:contributor rdf:resource="https://orcid.org/0009-0001-5998-5030"/>
47+
<dcterms:created>2025-03-20</dcterms:created>
1548
<dcterms:license rdf:resource="https://creativecommons.org/publicdomain/mark/1.0/"/>
49+
<dcterms:references>https://doi.org/10.1021/acs.analchem.7b02795</dcterms:references>
1650
<dcterms:title>nuclear magnetic resonance CV</dcterms:title>
17-
<owl:versionInfo>2023-11-23</owl:versionInfo>
51+
<vann:preferredNamespacePrefix>nmrCV</vann:preferredNamespacePrefix>
52+
<doap:audience>This CV is to be used by metabolomics researchers, or basically any chenomics or proteomics researchers who apply the nmrML xml to store their NMRraw data in a vendor agnostic manner. But nmrML can also be used to capture experimental results and (limited) basic metadata like molecule to spectral feature assignments.</doap:audience>
53+
<doap:bug-database>https://github.com/nmrML/nmrCV/issues</doap:bug-database>
54+
<doap:implements>https://github.com/nmrML/nmrML</doap:implements>
55+
<doap:location>https://github.com/nmrML/nmrCV</doap:location>
56+
<doap:maintainer rdf:resource="https://www.wikidata.org/wiki/Q96678459"/>
57+
<owl:priorVersion rdf:resource="https://nmrml.org/cv/v1.1.0/nmrCV.owl"/>
58+
<owl:versionInfo>2.0_alpha</owl:versionInfo>
59+
<owl:versionInfo>2025-03-20</owl:versionInfo>
1860
</owl:Ontology>
1961

2062

@@ -30,55 +72,102 @@
3072

3173

3274

75+
<!-- http://purl.org/dc/elements/1.1/contributor -->
76+
77+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/contributor"/>
78+
79+
80+
81+
<!-- http://purl.org/dc/elements/1.1/coverage -->
82+
83+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/coverage"/>
84+
85+
86+
87+
<!-- http://purl.org/dc/elements/1.1/creator -->
88+
89+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/creator"/>
90+
91+
92+
3393
<!-- http://purl.org/dc/elements/1.1/type -->
3494

3595
<owl:AnnotationProperty rdf:about="http://purl.org/dc/elements/1.1/type"/>
3696

3797

3898

39-
<!-- http://purl.org/dc/terms/description -->
99+
<!-- http://purl.org/dc/terms/abstract -->
40100

41-
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/description">
42-
<rdfs:label>description</rdfs:label>
43-
</owl:AnnotationProperty>
101+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/abstract"/>
102+
103+
104+
105+
<!-- http://purl.org/dc/terms/contributor -->
106+
107+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/contributor"/>
108+
109+
110+
111+
<!-- http://purl.org/dc/terms/created -->
112+
113+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/created"/>
44114

45115

46116

47117
<!-- http://purl.org/dc/terms/license -->
48118

49-
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license">
50-
<rdfs:label>license</rdfs:label>
51-
</owl:AnnotationProperty>
119+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/license"/>
120+
121+
122+
123+
<!-- http://purl.org/dc/terms/references -->
124+
125+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/references"/>
52126

53127

54128

55129
<!-- http://purl.org/dc/terms/title -->
56130

57-
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title">
58-
<rdfs:label>title</rdfs:label>
59-
</owl:AnnotationProperty>
131+
<owl:AnnotationProperty rdf:about="http://purl.org/dc/terms/title"/>
60132

61133

62134

63-
<!--
64-
///////////////////////////////////////////////////////////////////////////////////////
65-
//
66-
// Classes
67-
//
68-
///////////////////////////////////////////////////////////////////////////////////////
69-
-->
135+
<!-- http://purl.org/vocab/vann/preferredNamespacePrefix -->
136+
137+
<owl:AnnotationProperty rdf:about="http://purl.org/vocab/vann/preferredNamespacePrefix"/>
138+
139+
140+
141+
<!-- http://usefulinc.com/ns/doap#audience -->
142+
143+
<owl:AnnotationProperty rdf:about="http://usefulinc.com/ns/doap#audience"/>
144+
145+
146+
147+
<!-- http://usefulinc.com/ns/doap#bug-database -->
148+
149+
<owl:AnnotationProperty rdf:about="http://usefulinc.com/ns/doap#bug-database"/>
150+
151+
152+
153+
<!-- http://usefulinc.com/ns/doap#implements -->
154+
155+
<owl:AnnotationProperty rdf:about="http://usefulinc.com/ns/doap#implements"/>
156+
157+
158+
159+
<!-- http://usefulinc.com/ns/doap#location -->
70160

161+
<owl:AnnotationProperty rdf:about="http://usefulinc.com/ns/doap#location"/>
71162

72163

73164

74-
<!-- http://purl.obolibrary.org/obo/NMRCV_0000000 -->
165+
<!-- http://usefulinc.com/ns/doap#maintainer -->
75166

76-
<owl:Class rdf:about="http://purl.obolibrary.org/obo/NMRCV_0000000">
77-
<rdfs:label xml:lang="en">root node</rdfs:label>
78-
</owl:Class>
167+
<owl:AnnotationProperty rdf:about="http://usefulinc.com/ns/doap#maintainer"/>
79168
</rdf:RDF>
80169

81170

82171

83-
<!-- Generated by the OWL API (version 4.5.26) https://github.com/owlcs/owlapi -->
172+
<!-- Generated by the OWL API (version 4.5.29) https://github.com/owlcs/owlapi -->
84173

0 commit comments

Comments
 (0)