Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft: Update OntoMetadataShape.ttl #7

Merged
merged 114 commits into from
Jan 31, 2025
Merged
Show file tree
Hide file tree
Changes from 106 commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
1558deb
Update OntoMetadataShape.ttl
SArndt-TIB Nov 26, 2024
8d6bcce
#6 First updates after testing shapes with ontologies
SArndt-TIB Nov 26, 2024
ccdfc2f
#6 add version optimized for ULB form generator
SArndt-TIB Nov 28, 2024
cdf5326
#6 update base uri and version uri
SArndt-TIB Nov 28, 2024
07ed050
#6 Update messages (blank spaces, line breaks)
SArndt-TIB Nov 28, 2024
302138b
#6 update readme
SArndt-TIB Nov 28, 2024
4a48d62
#6 switch from omv:hasOntologySyntax to mod:hasSyntax\nadd variant of…
SArndt-TIB Nov 29, 2024
d11ea48
#6 Update versionIRI and dates for new version
SArndt-TIB Nov 29, 2024
44edeea
#6 update sh:message for title tests
SArndt-TIB Nov 29, 2024
ddf6bc4
#6 check consistency of list elements and sh:messages
SArndt-TIB Nov 29, 2024
8d48b7c
#6 add shape version for TS
SArndt-TIB Nov 29, 2024
9bf9045
#6 add recommended property back to sh:message for title
SArndt-TIB Dec 2, 2024
fa99ea0
#6 remove linebreak
SArndt-TIB Dec 2, 2024
cedb1d0
#6 add linebreak
SArndt-TIB Dec 2, 2024
02a17ed
#6 remove line break
SArndt-TIB Dec 2, 2024
b23e3f0
#6 Update
SArndt-TIB Dec 2, 2024
288c472
#6 Update
SArndt-TIB Dec 2, 2024
e92478a
#6 Update
SArndt-TIB Dec 2, 2024
8a3ed01
#6 Update
SArndt-TIB Dec 2, 2024
4cf0ff5
#6 Update
SArndt-TIB Dec 2, 2024
070709d
#6 Update
SArndt-TIB Dec 2, 2024
d7cac94
#6 Update
SArndt-TIB Dec 2, 2024
bd52649
#6 Update
SArndt-TIB Dec 2, 2024
f66958b
#6 Update
SArndt-TIB Dec 2, 2024
d482363
#6 Update
SArndt-TIB Dec 2, 2024
71a1305
#6 Update
SArndt-TIB Dec 2, 2024
bf83f2e
#6 Corrections
SArndt-TIB Dec 2, 2024
b622a8f
#6 update README with info about use cases, add screencasts
SArndt-TIB Dec 5, 2024
5b47083
#6 test
SArndt-TIB Dec 5, 2024
e5ab81b
#6 update
SArndt-TIB Dec 5, 2024
ea8ebe6
#6 resolve conflict
SArndt-TIB Dec 5, 2024
79212a7
#6 test
SArndt-TIB Dec 5, 2024
c013ef9
#6 update
SArndt-TIB Dec 5, 2024
1bcddcc
#6 update
SArndt-TIB Dec 5, 2024
4575ea0
#6 update
SArndt-TIB Dec 5, 2024
285fde3
#6 update
SArndt-TIB Dec 5, 2024
c5c2cd9
#6 update
SArndt-TIB Dec 5, 2024
78af684
#6 update
SArndt-TIB Dec 5, 2024
7dd0740
#6 Corrections
SArndt-TIB Dec 5, 2024
242e514
#6 update
SArndt-TIB Dec 5, 2024
436026d
#6 update
SArndt-TIB Dec 5, 2024
b120d56
#6 update
SArndt-TIB Dec 5, 2024
b3c0709
#6 update
SArndt-TIB Dec 5, 2024
1a97865
#6
SArndt-TIB Dec 6, 2024
8a899c2
#6
SArndt-TIB Dec 6, 2024
4a4289a
#6
SArndt-TIB Dec 6, 2024
adfb572
Update README.md
SArndt-TIB Dec 6, 2024
5567f1c
#6
SArndt-TIB Dec 6, 2024
e968d76
Merge branch '6-update-version-2024-05-02' of https://github.com/TIBH…
SArndt-TIB Dec 6, 2024
86969b2
#6
SArndt-TIB Dec 6, 2024
9219461
#6 update ts shape
SArndt-TIB Dec 10, 2024
cd4e255
#6 update
SArndt-TIB Dec 10, 2024
e1c0aca
#6 update
SArndt-TIB Dec 10, 2024
9b0d644
#6 update
SArndt-TIB Dec 10, 2024
99b327a
#6 update
SArndt-TIB Dec 10, 2024
30c39b3
#6 update
SArndt-TIB Dec 10, 2024
2e51988
#6 update
SArndt-TIB Dec 10, 2024
3849f74
#6 update
SArndt-TIB Dec 10, 2024
75a1aaf
#6 update
SArndt-TIB Dec 10, 2024
334125e
#6 update
SArndt-TIB Dec 10, 2024
baacba0
#6 update
SArndt-TIB Dec 10, 2024
3b50a7f
#6 update
SArndt-TIB Dec 10, 2024
eacc808
#6 update
SArndt-TIB Dec 10, 2024
15dcaf6
#6 update
SArndt-TIB Dec 10, 2024
9f062fd
#6 update
SArndt-TIB Dec 10, 2024
5f327c1
#6 update
SArndt-TIB Dec 10, 2024
e4be5a3
#6 update
SArndt-TIB Dec 10, 2024
09033f2
#6 update
SArndt-TIB Dec 10, 2024
aa72506
#6 update
SArndt-TIB Dec 10, 2024
b0f0bf2
#6 Corrections
SArndt-TIB Dec 10, 2024
a23863e
#6 formatting for ts
SArndt-TIB Dec 10, 2024
7d06aec
#6 formatting for ts
SArndt-TIB Dec 10, 2024
4a212f8
#6 formatting for ts
SArndt-TIB Dec 10, 2024
b77ec1d
#6 formatting for ts
SArndt-TIB Dec 10, 2024
4ab069f
#6 formatting for ts
SArndt-TIB Dec 10, 2024
eab9f0f
#6 formatting for ts
SArndt-TIB Dec 10, 2024
2440ef8
#6 formatting for ts
SArndt-TIB Dec 11, 2024
85e42b1
#6 formatting for ts
SArndt-TIB Dec 11, 2024
488dca7
#6 formatting for ts
SArndt-TIB Dec 11, 2024
45353c6
#6 formatting for ts
SArndt-TIB Dec 11, 2024
29e70df
#6 formatting for ts
SArndt-TIB Dec 11, 2024
e0b9405
#6 formatting for ts
SArndt-TIB Dec 11, 2024
3e5fce6
#6 formatting for ts
SArndt-TIB Dec 11, 2024
94d84c6
Update README.md
SArndt-TIB Dec 11, 2024
389783c
#6 add screencast form generator
SArndt-TIB Dec 11, 2024
4b9e62a
#6 corrections (vann namespace), removal of redundant lines, update o…
SArndt-TIB Dec 12, 2024
fa5bc30
#6 update version iri
SArndt-TIB Dec 12, 2024
e468a9e
Update README.md
SArndt-TIB Jan 2, 2025
f838b67
#6 add example values to sh:messages for mandatory fields
SArndt-TIB Jan 22, 2025
262aaaa
#6 add example values to sh:messages for mandatory fields
SArndt-TIB Jan 22, 2025
ed98c18
#6 add example values to sh:messages for mandatory fields
SArndt-TIB Jan 22, 2025
e27f5be
#6 Update after review
SArndt-TIB Jan 23, 2025
2e0681e
Update sh:messages Reference to SHACL updated
SArndt-TIB Jan 24, 2025
6116d7f
#6 Update validation shapes so that all dates may have xsd:date format
SArndt-TIB Jan 24, 2025
21a3730
#6 update metadata guide to allow for xsd:date and xsd:dateTime in da…
SArndt-TIB Jan 24, 2025
b3e51d7
#6 Split license shapes to provide clearer messages for validation
SArndt-TIB Jan 24, 2025
1f16d3a
#6 Correct vann: namespace
SArndt-TIB Jan 27, 2025
14bb697
#6 Update DummyOntoPASSES.ttl to conform to OntoMetadataShape.ttl
SArndt-TIB Jan 27, 2025
9e4fc3d
#6 Remove dc/dcterms:rights from property path for license information
SArndt-TIB Jan 27, 2025
d4d391f
#6 update issue tracker
SArndt-TIB Jan 27, 2025
c4c5d38
#6 Update info on root classes in all shapes and all versions of guide
SArndt-TIB Jan 27, 2025
fdb66ab
Update OntoMetadataShape4TS.ttl - fix typo in sh:message
SArndt-TIB Jan 27, 2025
d37db32
Apply suggestions from code review - clarify that target class is owl…
SArndt-TIB Jan 27, 2025
4cc2c80
Update README.md - update link to SHACL PLay!
SArndt-TIB Jan 27, 2025
2f70954
Apply suggestions from code review - update README structure/ headlines
SArndt-TIB Jan 27, 2025
5472417
#6 fix typo and update all versions of the guide
SArndt-TIB Jan 27, 2025
91b49fa
Apply suggestions from code review
SArndt-TIB Jan 30, 2025
2866bfb
#6 switch to prefixed IRIs, update metadata
SArndt-TIB Jan 30, 2025
5001ba0
#6 Add further xsd: date formats
SArndt-TIB Jan 30, 2025
6e30509
#6 add void:
SArndt-TIB Jan 30, 2025
bae04ff
#6 add void:
SArndt-TIB Jan 30, 2025
6d9e3ab
kill maxCountConstraint on documentation
SArndt-TIB Jan 30, 2025
0844048
#6 Update dc:creator to dcterms:creator
SArndt-TIB Jan 30, 2025
d791200
#6 Update html and pdf version of guide
SArndt-TIB Jan 30, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .github/images/form_generator-low-qual.mp4
Binary file not shown.
Binary file added .github/images/ontology_suggestion.mp4
Binary file not shown.
Binary file added .github/images/terminology_metadata-00001.jpg
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 .github/images/validate-metadata-low-qual.mp4
Binary file not shown.
Binary file added .github/images/validate-metadata.mov
Binary file not shown.
Binary file added .github/images/validate-metadata.mp4
Binary file not shown.
3 changes: 2 additions & 1 deletion DummyOntoFAILS.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@


<https://www.purl.org/ontologymetadata/DummyOntoFAILS> rdf:type owl:Ontology ;
dcterms:license <https://creativecommons.org/licenses/by-nd/3.0/de/legalcode>.
dcterms:license <https://creativecommons.org/licenses/by-nd/3.0/de/legalcode> ;
dcterms:creator "John Doe" .

<https://www.purl.org/ontologymetadata/DummyOntoFAILS#1> a owl:Class .
7 changes: 4 additions & 3 deletions DummyOntoPASSES.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,18 @@
dcterms:contributor <0000-0000-0000-0000> ;
#contact data missing - won't add
schema:funder <https://ror.org/018mejw64> ;
schema:funding <http://example.com/a-grant-id> ;
doap:audience "DummyOntoPASSES has been developed for ontology engineers to demonstrate ontology metadata recommendations by TIB Terminology Service. It can be used with the TIB Terminology Service Ontology Metadata Shape in SHACL validators and should trigger no violations or warnings."@en ;
dcterms:subject <https://purl.org/linsearch/inf> ;
schema:inLanguage <https://id.loc.gov/vocabulary/iso639-2/deu> ;
mod:hasFormalityLevel "The DummyOntoPASSES aplies OWL2 EL (cf. https://www.w3.org/TR/2012/REC-owl2-profiles-20121211/#OWL_2_EL)"@en ;
<http://omv.ontoware.org/2005/05/ontology#hasOntologySyntax> <http://www.w3.org/ns/formats/Turtle> ;
<https://w3id.org/mod#hasSyntax> <http://www.w3.org/ns/formats/Turtle> ;
<http://purl.org/ontology/bibo/status> "active"@en ;
doap:repository <https://github.com/StroemPhi/Ontology-Metadata> ;
<http://www.w3.org/ns/dcat#distribution> <https://www.purl.org/ontologymetadata/DummyOntoPASSES.owl> ;
<https://vocab.org/vann/example> <https://www.purl.org/ontologymetadata/DummyOntoPASSES/docs/descriptionOfUse> ;
<http://purl.org/vocab/vann/example> <https://www.purl.org/ontologymetadata/DummyOntoPASSES/docs/descriptionOfUse> ;
dcterms:isReferencedBy <https://zenodo.org/record/0000000> ;
dcterms:references <https://example.com/some-paper-referenced-by-the-ontology> ;
dcterms:bibliographicCitation "TIB (2023): DummyOntoPASSES. An ontology demonstrating rich ontology metadata. PURL: https://www.purl.org/ontologymetadata/DummyOntoPASSES."@en ;
pav:derivedFrom <http://www.purl.org/SomeOtherOntology/0.0.1> ;
<http://purl.obolibrary.org/obo/IAO_0000700> <https://www.purl.org/ontologymetadata/DummyOntoPASSES#1> ;
Expand All @@ -65,7 +67,6 @@
dcterms:type <http://w3id.org/nkos/nkostype#ontology> ;
<http://identifiers.org/exampleIdentifier> <https://www.purl.org/ontologymetadata/DummyOntoPASSES#1> ;
<http://identifiers.org/idot/identifierPattern> "[0-9]+" ;
dcterms:format <https://www.iana.org/assignments/media-types/application/rdf+xml> ;
<http://xmlns.com/foaf/0.1/homepage> <https://purl.org/OntoMeta/home> ;
dcterms:publisher <https://isni.org/isni/0000000121746694>, <https://d-nb.info/gnd/1080328793> ;
rdfs:comment "Some remark about the ontology."@en ;
Expand Down
72 changes: 47 additions & 25 deletions MetadataGuide.html

Large diffs are not rendered by default.

69 changes: 44 additions & 25 deletions MetadataGuide.md
SArndt-TIB marked this conversation as resolved.
Show resolved Hide resolved

Large diffs are not rendered by default.

Binary file modified MetadataGuide.pdf
Binary file not shown.
813 changes: 218 additions & 595 deletions OntoMetadataShape.ttl

Large diffs are not rendered by default.

1,447 changes: 1,447 additions & 0 deletions OntoMetadataShape4Forms.ttl

Large diffs are not rendered by default.

2,553 changes: 2,553 additions & 0 deletions OntoMetadataShape4TS.ttl

Large diffs are not rendered by default.

43 changes: 36 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,53 @@
# Terminology Metadata Recommendations by TIB

<!-- PURLs are registered, but repo is still private -->

With this repository, *TIB - Leibniz Information Centre for Science and Technology University Library* provides a practical guide for metadata management of ontologies. It gives recommendations on required, recommended and optional metadata for ontologies.

In particular, it addresses ontology engineers who would like to publish their ontologies on the [TIB Terminology Service](https://terminology.tib.eu/ts), the [NFDI4INg Terminology Service](https://terminology.nfdi4ing.de/ts/) or the [NFDI4Chem Terminology Service](https://terminology.nfdi4chem.de/ts/).

An introduction and overview is given in the [Metadata Guide](/MetadataGuide.md).
SArndt-TIB marked this conversation as resolved.
Show resolved Hide resolved

In addition, we provide SHACL shapes based on these recommendations in [OntoMetadataShape.ttl](/OntoMetadataShape.ttl) which can also be reached via <https://www.purl.org/ontologymetadata/shape>. These shapes can be used in SHACL validators and to check whether an ontology meets the recommendations. For example, the following onlin e SHACL validators are available:
In addition, we provide SHACL shapes based on these recommendations for three different applications as documented below. The target class of these shapes is owl:Ontology, so that they can only be used to validate entities that declare themselves as an instance of owl:Ontology, and also code generated with these shapes, will declare entities as instances of owl:Ontology.

This repository is archived at Zenodo: <https://www.doi.org/10.5281/zenodo.11103071>

> INFO: This recommendation is still a draft. Approval and discussion by a broader communiuty are required.

## Metadata recommendations in SHACL

### For ontology validation by ontology engineers

In addition to the [MetadataGuide.md](/MetadataGuide.md), we provide SHACL shapes based on these recommendations in [OntoMetadataShape.ttl](/OntoMetadataShape.ttl) which can also be reached via <https://www.purl.org/ontologymetadata/shape>. These shapes can be used in SHACL validators to check whether an ontology meets the recommendations.
They are very fine-grained - each sh:PropertyShape tests a specific set of properties that may occur in an ontology. For each violated constraint, a detailed message adresses how the constraint violation may be fixed. The messages provide examples in Turtle, so that ontology engineers can easily adapt their own code to the recommendation.

For example, the following online SHACL validators are available and have been tested with [OntoMetadataShape.ttl](/OntoMetadataShape.ttl):

* [SHACL Playground](https://shacl.org/playground/)
* [SHACL Playground by Zazuko](https://shacl-playground.zazuko.com/)
* [SHACL Play!](https://shacl-play.sparna.fr/play/)
* [SHACL Play!](https://shacl-play.sparna.fr/play/validate) (if you are new to SHACL, we recommend this online validator!)

> INFO: This recommendation is still a draft. Approval and discussion by a broader communiuty are required.
PLEASE NOTE that browser extensions (e.g. Citavi) may interfer when using such validators - they may parse the Turtle code and insert text snippets that make the code unparsable due to syntactic errors. You should switch such extensions off, if you encounter such problems!

This repository is archived at Zenodo: <https://www.doi.org/10.5281/zenodo.11103071>
See how you can use online validators with our shape:

<https://github.com/user-attachments/assets/c5d6be07-3bfb-44ab-ae65-e3f75b8e883a>

### For ontology validation at TIB Terminology Service

In [OntoMetadataShape4TS.ttl](/OntoMetadataShape4TS.ttl) (also <https://www.purl.org/ontologymetadata/shape4ts>) we provide a version of the recommendations that is adapted to the Ontology Suggestion Feature at [TIB Terminology Service](https://terminology.tib.eu). The messages are adapted to the context of use and the particular use case: The person suggesting an ontology is not necessarily involved in its development. On TIB Terminology Service, they will be asked to provide metadata of the ontology if these are not present in the ontology, and if known to the user. These users are not required to provide the meatdata as code.

See how the shape is used in the suggestion feature:

<https://github.com/user-attachments/assets/847cfd39-0823-4a83-9c8a-0cf3d23d38a7>

### For metadata form generators

In [OntoMetadataShape4Forms.ttl](/OntoMetadataShape4Forms.ttl) (also <https://www.purl.org/ontologymetadata/shape4forms>) you find a version of the shape that is optimized for the [form generator tool by ULB Darmstadt](https://github.com/ULB-Darmstadt/shacl-form). You can try it out on their [live demo instance](https://ulb-darmstadt.github.io/shacl-form/#try-your-own).

The shapes are not as granular as the ones for validation: All constraints are bundled in one shape in order to generate a form, that users can use to enter values. The user input is validated immediately for all criteria and the metadata code is generated. Only the recommended properties will be used to do so: This version of the recommendation does not make use of `sh:alternativePath` constructs, in order to generate valid RDF code with named properties, not anonymous/ blank nodes.

<https://github.com/user-attachments/assets/55cdf44f-5289-4989-9014-5e670fd73418>

## Further reading and sources

* Arndt, S., Borgelt, H. und Strömert, P. (2023) „FAIR Ontology Metadata - Crucial Information for Understanding, Evaluation, and Application“. 2nd Ontologies4Chem Workshop 2023 (Ontologies4Chem 2023), Zenodo, 12 Oktober. doi: 10.5281/zenodo.10117899.
* see complete [list of sources](/MetadataGuide.md#8-sources) in the Metadata Guide
* see complete [list of sources](/MetadataGuide.md#8-sources) in the Metadata Guide
4 changes: 2 additions & 2 deletions TabularOverview.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ order number section metadatum Preferred property Mandatory Recommended Optional
14 4.5 Subject(s) <http://purl.org/dc/terms/subject> x 0…* true true false true false false true false true true true false false
15 4.6 Annotation language(s) <http://purl.org/dc/terms/language> x 0…* true true false false false false true false false false true false false
16 4.7 Applied logical framework <https://w3id.org/mod#hasFormalityLevel> x 0...1 false true false true false false true false false false false false false
17 4.8 Serialization/ file format <http://omv.ontoware.org/2005/05/ontology#hasOntologySyntax> x 0...1 true true false false false false true false false false true false false
17 4.8 Serialization/ file format <https://w3id.org/mod#hasSyntax> x 0...1 true true false false false false true false false false true false false
18 4.9 Status <http://purl.org/ontology/bibo/status> x 0...1 true false false true true true true true true true true false true
19 4.10 Code repository <http://usefulinc.com/ns/doap#repository> x 0...1 false true false true false false true false false true false true false
20 4.11 Distributions/ products <http://www.w3.org/ns/dcat#distribution> x 0…* true true false false false false true false true false true false false
21 4.12 Application example <https://vocab.org/vann/example> x 0…* false true false true false false true false false false false false false
21 4.12 Application example <http://purl.org/vocab/vann/example> x 0…* false true false true false false true false false false false false false
22 4.13 Related resource(s) <http://purl.org/dc/terms/references> x 0…* true true false false true true true false true true true true false
23 4.14 Citation suggestion <http://purl.org/dc/terms/bibliographicCitation> x 0…* false true false false true true true true false false true false false
24 4.15 Ontology sources (derived from) <http://purl.org/pav/derivedFrom> x 0…* true true false true true true true true true false true false false
Expand Down