Skip to content

Commit

Permalink
Update design pattern documentation (NFDI4Chem#115)
Browse files Browse the repository at this point in the history
* Add STATO:executes

* Make the STATO mirror file a "base" release to relax OWL 2 profile from Full to DL

As the QC will otherwise fail. This causes the property chain axiom on `STATO:executes` to be dropped, but is considered irrelevant at the moment.

* Update design pattern docs

* Create planned_process_pattern_example.png

* Update design_patterns.md

* Add example instance template pipeline and examples

* Delete accidentally commited test axiom

* Update vibso-odk.yaml
  • Loading branch information
StroemPhi authored Feb 1, 2024
1 parent 3503094 commit ec7b411
Show file tree
Hide file tree
Showing 24 changed files with 2,835 additions and 922 deletions.
240 changes: 212 additions & 28 deletions docs/design_patterns.md

Large diffs are not rendered by default.

Binary file modified docs/images/OBI_asserted_assay_pattern.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/OBO_assay_pattern_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/images/OBO_setting_pattern.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/OBO_setting_pattern_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2,900 changes: 2,179 additions & 721 deletions docs/images/VIBSO_T-Box_graph_views.drawio

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/images/VIBSO_TBox_graph_views.html

Large diffs are not rendered by default.

Binary file added docs/images/planned_process_pattern.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/planned_process_pattern_example.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/odk-workflows/RepositoryFileStructure.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@ These are the components in VIBSO
| -------- | --- |
| vibso_classes.owl | None |
| vibso_object_properties.owl | None |
| vibso_examples.owl | None |
10 changes: 9 additions & 1 deletion src/ontology/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ OBODATE ?= $(shell date +'%d:%m:%Y %H:%M')
VERSION= $(TODAY)
ANNOTATE_ONTOLOGY_VERSION = annotate -V $(ONTBASE)/releases/$(VERSION)/$@ --annotation owl:versionInfo $(VERSION)
ANNOTATE_CONVERT_FILE = annotate --ontology-iri $(ONTBASE)/$@ $(ANNOTATE_ONTOLOGY_VERSION) convert -f ofn --output $@.tmp.owl && mv $@.tmp.owl $@
OTHER_SRC = $(COMPONENTSDIR)/vibso_classes.owl $(COMPONENTSDIR)/vibso_object_properties.owl
OTHER_SRC = $(COMPONENTSDIR)/vibso_classes.owl $(COMPONENTSDIR)/vibso_object_properties.owl $(COMPONENTSDIR)/vibso_examples.owl
ONTOLOGYTERMS = $(TMPDIR)/ontologyterms.txt
EDIT_PREPROCESSED = $(TMPDIR)/$(ONT)-preprocess.owl

Expand Down Expand Up @@ -412,6 +412,14 @@ $(COMPONENTSDIR)/vibso_object_properties.owl: $(TEMPLATEDIR)/vibso_object_proper
$(ANNOTATE_CONVERT_FILE); fi

.PRECIOUS: $(COMPONENTSDIR)/vibso_object_properties.owl


$(COMPONENTSDIR)/vibso_examples.owl: $(TEMPLATEDIR)/vibso_examples.tsv
if [ $(COMP) = true ] ; then $(ROBOT) template --add-prefixes config/context.json \
$(patsubst %, --template %, $^) \
$(ANNOTATE_CONVERT_FILE); fi

.PRECIOUS: $(COMPONENTSDIR)/vibso_examples.owl
# ----------------------------------------
# Mirroring upstream ontologies
# ----------------------------------------
Expand Down
1 change: 1 addition & 0 deletions src/ontology/catalog-v001.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<group id="Folder Repository, directory=, recursive=false, Auto-Update=false, version=2" prefer="public" xml:base="">
<uri name="http://purl.obolibrary.org/obo/vibso/components/vibso_classes.owl" uri="components/vibso_classes.owl"/>
<uri name="http://purl.obolibrary.org/obo/vibso/components/vibso_object_properties.owl" uri="components/vibso_object_properties.owl"/>
<uri name="http://purl.obolibrary.org/obo/vibso/components/vibso_examples.owl" uri="components/vibso_examples.owl"/>
<uri name="http://purl.obolibrary.org/obo/vibso/imports/bfo_import.owl" uri="imports/bfo_import.owl"/>
<uri name="http://purl.obolibrary.org/obo/vibso/imports/bfo_import.obo" uri="imports/bfo_import.obo"/>
<uri name="http://purl.obolibrary.org/obo/vibso/imports/ro_import.owl" uri="imports/ro_import.owl"/>
Expand Down
5 changes: 3 additions & 2 deletions src/ontology/components/vibso_classes.owl
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
Prefix(:=<http://purl.obolibrary.org/obo/vibso/components/vibso_classes.owl#>)
Prefix(cc:=<http://creativecommons.org/ns#>)
Prefix(dc:=<http://purl.org/dc/elements/1.1/>)
Prefix(ex:=<https://example.instances/>)
Prefix(DOI:=<http://doi.org/>)
Prefix(ROR:=<http://ror.org/>)
Prefix(obo:=<http://purl.obolibrary.org/obo/>)
Expand All @@ -23,8 +24,8 @@ Prefix(Wikipedia:=<https://en.wikipedia.org/wiki/>)


Ontology(<http://purl.obolibrary.org/obo/vibso/components/vibso_classes.owl>
<http://purl.obolibrary.org/obo/vibso/releases/2023-12-20/components/vibso_classes.owl>
Annotation(rdfs:comment "This component is derived from the 'src/templates/vibso_classes.tsv', which is edited manually by domain experts.")
<http://purl.obolibrary.org/obo/vibso/releases/2024-01-31/components/vibso_classes.owl>
Annotation(rdfs:comment "This component is derived from the manually edited 'src/templates/vibso_classes.tsv' template.")

Declaration(Class(obo:BFO_0000029))
Declaration(Class(obo:CHMO_0000823))
Expand Down
143 changes: 143 additions & 0 deletions src/ontology/components/vibso_examples.owl
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
Prefix(:=<http://purl.obolibrary.org/obo/vibso/components/vibso_examples.owl#>)
Prefix(cc:=<http://creativecommons.org/ns#>)
Prefix(dc:=<http://purl.org/dc/elements/1.1/>)
Prefix(ex:=<https://example.instances/>)
Prefix(DOI:=<http://doi.org/>)
Prefix(ROR:=<http://ror.org/>)
Prefix(obo:=<http://purl.obolibrary.org/obo/>)
Prefix(owl:=<http://www.w3.org/2002/07/owl#>)
Prefix(rdf:=<http://www.w3.org/1999/02/22-rdf-syntax-ns#>)
Prefix(xml:=<http://www.w3.org/XML/1998/namespace>)
Prefix(xsd:=<http://www.w3.org/2001/XMLSchema#>)
Prefix(foaf:=<http://xmlns.com/foaf/0.1/>)
Prefix(prov:=<http://www.w3.org/ns/prov#>)
Prefix(rdfa:=<http://www.w3.org/ns/rdfa#>)
Prefix(rdfs:=<http://www.w3.org/2000/01/rdf-schema#>)
Prefix(skos:=<http://www.w3.org/2004/02/skos/core#>)
Prefix(void:=<http://rdfs.org/ns/void#>)
Prefix(ORCID:=<http://orcid.org/>)
Prefix(vibso:=<http://purl.obolibrary.org/obo/VIBSO_>)
Prefix(schema:=<http://schema.org/>)
Prefix(dcterms:=<http://purl.org/dc/terms/>)
Prefix(oboInOwl:=<http://www.geneontology.org/formats/oboInOwl#>)
Prefix(Wikipedia:=<https://en.wikipedia.org/wiki/>)


Ontology(<http://purl.obolibrary.org/obo/vibso/components/vibso_examples.owl>
<http://purl.obolibrary.org/obo/vibso/releases/2024-02-01/components/vibso_examples.owl>
Annotation(rdfs:comment "This component is derived from the manually edited 'src/templates/vibso_examples.tsv' template.")

Declaration(Class(obo:CHMO_0001235))
Declaration(Class(obo:CHMO_0002515))
Declaration(Class(obo:IAO_0000027))
Declaration(Class(obo:OBI_0000441))
Declaration(Class(obo:OBI_0000747))
Declaration(Class(obo:OBI_0001896))
Declaration(Class(obo:OBI_0001931))
Declaration(Class(obo:PATO_0001242))
Declaration(Class(obo:VIBSO_0000013))
Declaration(ObjectProperty(obo:BFO_0000051))
Declaration(ObjectProperty(obo:IAO_0000039))
Declaration(ObjectProperty(obo:IAO_0000136))
Declaration(ObjectProperty(obo:OBI_0000293))
Declaration(ObjectProperty(obo:OBI_0000299))
Declaration(ObjectProperty(obo:OBI_0000417))
Declaration(ObjectProperty(obo:OBI_0001927))
Declaration(ObjectProperty(obo:OBI_0001938))
Declaration(ObjectProperty(obo:RO_0000080))
Declaration(ObjectProperty(obo:RO_0002566))
Declaration(ObjectProperty(obo:STATO_0000102))
Declaration(DataProperty(obo:OBI_0002135))
Declaration(NamedIndividual(obo:UO_0000018))
Declaration(NamedIndividual(ex:_Laser_Wavelength_1))
Declaration(NamedIndividual(ex:_Raman_Spectrometer_1))
Declaration(NamedIndividual(ex:_Raman_Spectroscopy_1))
Declaration(NamedIndividual(ex:_Raman_Spectroscopy_Method_1))
Declaration(NamedIndividual(ex:_Raman_Spectrum_1))
Declaration(NamedIndividual(ex:_Raman_Spectrum_Objective_1))
Declaration(NamedIndividual(ex:_Sample_1))
Declaration(NamedIndividual(ex:_Wavelength_Setting_Info_1))
Declaration(NamedIndividual(ex:_Wavelength_Value_Specification_1))
Declaration(AnnotationProperty(dcterms:description))





############################
# Named Individuals
############################

# Individual: ex:_Laser_Wavelength_1 (_Laser_Wavelength_1)

AnnotationAssertion(dcterms:description ex:_Laser_Wavelength_1 "The laser wavelength of _Raman_Spectrometer_1 which is a general attribute (aka quality/characteristic) of _Raman_Spectrometer_1. The quantity of this attribute is represented by the _Wavelength_Value_Specification_1."@en)
AnnotationAssertion(rdfs:label ex:_Laser_Wavelength_1 "_Laser_Wavelength_1"@en)
ClassAssertion(obo:PATO_0001242 ex:_Laser_Wavelength_1)
ObjectPropertyAssertion(obo:RO_0000080 ex:_Laser_Wavelength_1 ex:_Raman_Spectrometer_1)

# Individual: ex:_Raman_Spectrometer_1 (_Raman_Spectrometer_1)

AnnotationAssertion(dcterms:description ex:_Raman_Spectrometer_1 "The Raman spectrometer that is used in _RamanAssay_1."@en)
AnnotationAssertion(rdfs:label ex:_Raman_Spectrometer_1 "_Raman_Spectrometer_1"@en)
ClassAssertion(obo:CHMO_0001235 ex:_Raman_Spectrometer_1)

# Individual: ex:_Raman_Spectroscopy_1 (_Raman_Spectroscopy_1)

AnnotationAssertion(dcterms:description ex:_Raman_Spectroscopy_1 "The Raman spectroscopy in which _Sample_1 is being assayed according to _Raman_Spectroscopy_Method_1 in order to achieve _Raman_Spectrum_Objective_1."@en)
AnnotationAssertion(rdfs:label ex:_Raman_Spectroscopy_1 "_Raman_Spectroscopy_1"@en)
ClassAssertion(obo:CHMO_0002515 ex:_Raman_Spectroscopy_1)
ObjectPropertyAssertion(obo:OBI_0000293 ex:_Raman_Spectroscopy_1 ex:_Raman_Spectrometer_1)
ObjectPropertyAssertion(obo:OBI_0000293 ex:_Raman_Spectroscopy_1 ex:_Sample_1)
ObjectPropertyAssertion(obo:OBI_0000293 ex:_Raman_Spectroscopy_1 ex:_Wavelength_Setting_Info_1)
ObjectPropertyAssertion(obo:OBI_0000299 ex:_Raman_Spectroscopy_1 ex:_Raman_Spectrum_1)
ObjectPropertyAssertion(obo:OBI_0000417 ex:_Raman_Spectroscopy_1 ex:_Raman_Spectrum_Objective_1)
ObjectPropertyAssertion(obo:STATO_0000102 ex:_Raman_Spectroscopy_1 ex:_Raman_Spectroscopy_Method_1)

# Individual: ex:_Raman_Spectroscopy_Method_1 (_Raman_Spectroscopy_Method_1)

AnnotationAssertion(dcterms:description ex:_Raman_Spectroscopy_Method_1 "The information that indicates the type of _Raman_Spectroscopy_1 by describing its method, specifying its inputs and outputs, as well as the necessary steps and actions that have to be taken in order to achieve _Raman_Spectrum_Objective_1. For the sake of keeping it simple, not all parts of this assay specification will be provided as assertions on this example."@en)
AnnotationAssertion(rdfs:label ex:_Raman_Spectroscopy_Method_1 "_Raman_Spectroscopy_Method_1"@en)
ClassAssertion(obo:OBI_0001896 ex:_Raman_Spectroscopy_Method_1)
ObjectPropertyAssertion(obo:BFO_0000051 ex:_Raman_Spectroscopy_Method_1 ex:_Raman_Spectrum_Objective_1)
ObjectPropertyAssertion(obo:BFO_0000051 ex:_Raman_Spectroscopy_Method_1 ex:_Wavelength_Setting_Info_1)
ObjectPropertyAssertion(obo:IAO_0000136 ex:_Raman_Spectroscopy_Method_1 ex:_Raman_Spectrometer_1)
ObjectPropertyAssertion(obo:IAO_0000136 ex:_Raman_Spectroscopy_Method_1 ex:_Raman_Spectroscopy_1)

# Individual: ex:_Raman_Spectrum_1 (_Raman_Spectrum_1)

AnnotationAssertion(dcterms:description ex:_Raman_Spectrum_1 "The Raman spectrum (the data outputed by _RamanSpectrometer_1 NOT the plot) of _Sample_1 created by _RamanAssay_1. Currently classified as an IAO:'data item' as a more specific subclass thereof has yet to be minted in VIBSO (see alos: https://github.com/NFDI4Chem/VibrationalSpectroscopyOntology/issues/77)"@en)
AnnotationAssertion(rdfs:label ex:_Raman_Spectrum_1 "_Raman_Spectrum_1"@en)
ClassAssertion(obo:IAO_0000027 ex:_Raman_Spectrum_1)
ObjectPropertyAssertion(obo:IAO_0000136 ex:_Raman_Spectrum_1 ex:_Sample_1)

# Individual: ex:_Raman_Spectrum_Objective_1 (_Raman_Spectrum_Objective_1)

AnnotationAssertion(dcterms:description ex:_Raman_Spectrum_Objective_1 "The information that specifies the intended outcome of _Raman_Spectroscopy_1 to be the creation of a Raman Spectrum."@en)
AnnotationAssertion(rdfs:label ex:_Raman_Spectrum_Objective_1 "_Raman_Spectrum_Objective_1"@en)
ClassAssertion(obo:OBI_0000441 ex:_Raman_Spectrum_Objective_1)

# Individual: ex:_Sample_1 (_Sample_1)

AnnotationAssertion(dcterms:description ex:_Sample_1 "The material entity that is being evaluated in _RamanAssay_1."@en)
AnnotationAssertion(rdfs:label ex:_Sample_1 "_Sample_1"@en)
ClassAssertion(obo:OBI_0000747 ex:_Sample_1)

# Individual: ex:_Wavelength_Setting_Info_1 (_Wavelength_Setting_Info_1)

AnnotationAssertion(dcterms:description ex:_Wavelength_Setting_Info_1 "The information that determines the wavelength of the laser of _Raman_Spectrometer_1 which is used to excite the sample. This information gets encoded by the _Laser_Value_Specification_1."@en)
AnnotationAssertion(rdfs:label ex:_Wavelength_Setting_Info_1 "_Wavelength_Setting_Info_1"@en)
ClassAssertion(obo:VIBSO_0000013 ex:_Wavelength_Setting_Info_1)
ObjectPropertyAssertion(obo:OBI_0001938 ex:_Wavelength_Setting_Info_1 ex:_Wavelength_Value_Specification_1)
ObjectPropertyAssertion(obo:RO_0002566 ex:_Wavelength_Setting_Info_1 ex:_Laser_Wavelength_1)

# Individual: ex:_Wavelength_Value_Specification_1 (_Wavelength_Value_Specification_1)

AnnotationAssertion(dcterms:description ex:_Wavelength_Value_Specification_1 "The encoding of the value determined by _Wavelength_Setting_Info_1, which consists of the unit label and the literal value of the laser wavelength of _Raman_Spectrometer_1."@en)
AnnotationAssertion(rdfs:label ex:_Wavelength_Value_Specification_1 "_Wavelength_Value_Specification_1"@en)
ClassAssertion(obo:OBI_0001931 ex:_Wavelength_Value_Specification_1)
ObjectPropertyAssertion(obo:IAO_0000039 ex:_Wavelength_Value_Specification_1 obo:UO_0000018)
ObjectPropertyAssertion(obo:OBI_0001927 ex:_Wavelength_Value_Specification_1 ex:_Laser_Wavelength_1)
DataPropertyAssertion(obo:OBI_0002135 ex:_Wavelength_Value_Specification_1 "555.0"^^xsd:float)


)
Loading

0 comments on commit ec7b411

Please sign in to comment.