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

Improve readme #11

Merged
merged 7 commits into from
Oct 13, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
# versioning-ontology
Generic concepts for doing semantic versioning for a suite of artifacts for semantic systems in production.
This ontology represents generic concepts for doing semantic versioning and dependency tracking for a suite of artifacts for semantic systems in production. Versioned artifacts are given semantic version numbers of the form "N.N.N" (as described in https://semver.org/). This ontology provides the ability to state that a particular version of one ontology depends on the semantic version number of another ontology being in a certain range. For example, version 6.3.0 of a disease taxonomy depends on:
1. the version of a disease ontology being at least 3.1.0 and less than 4.0.0.
2. the version of gist core being between at least 12.1.0 and less than 13.0.0.

The need for specifying such dependencies arises when ontologies use terms from imported ontologies.

Three SPARQL queries are provided to perform the following tasks:
1. Find all versioned artifacts and their dependencies.
2. Find all cases where a version dependency requirement is not met. Return result in English.
3. Find all cases where a version dependency requirement is not met. Return result as a SHACL report.
28 changes: 19 additions & 9 deletions examples/examplesVersionDependency.ttl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# imports: https://ontologies.exco.com/exeoDiseases
# imports: https://w3id.org/semanticarts/ontology/gistCore12.1.0
# imports: https://w3id.org/semanticarts/ontology/operators
# imports: https://w3id.org/semanticarts/ontology/versioning
# imports: https://w3id.org/semanticarts/ontology/gistCore12.2.2
# imports: https://w3id.org/semanticarts/ontology/operators1.0.0
# imports: https://w3id.org/semanticarts/ontology/versioning1.0.0

@prefix ops: <https://w3id.org/semanticarts/ns/ontology/operators/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
Expand All @@ -13,8 +13,13 @@

<https://ontologies.exco.com/exeoDiseases>
a owl:Ontology ;
skos:scopeNote "The version of this ontology does not meet the dependency requirement."^^xsd:string ;
owl:imports
<https://w3id.org/semanticarts/ontology/operators1.0.0> ,
<https://w3id.org/semanticarts/ontology/versioning1.0.0>
;
owl:versionIRI <https://ontologies.exco.com/exeoDiseases3.0.2> ;
skos:prefLabel "Diseases"^^xsd:string ;
skos:scopeNote "The version of this ontology does not meet the dependency requirement."^^xsd:string ;
ver:hasVersionNumber [
a ver:SemanticVersionNumber ;
ver:uniqueText "3.0.2"^^xsd:string ;
Expand All @@ -25,13 +30,13 @@
a owl:Ontology ;
owl:imports
<https://ontologies.exco.com/exeoDiseases> ,
<https://w3id.org/semanticarts/ontology/gistCore12.1.0> ,
<https://w3id.org/semanticarts/ontology/operators> ,
<https://w3id.org/semanticarts/ontology/versioning>
<https://w3id.org/semanticarts/ontology/gistCore12.2.2> ,
<https://w3id.org/semanticarts/ontology/operators1.0.0> ,
<https://w3id.org/semanticarts/ontology/versioning1.0.0>
;
owl:versionIRI <hhttps://taxonomies.exco.com/diseaseTaxonomy6.3.0> ;
skos:definition "A hierarchy of diseases."^^xsd:string ;
skos:prefLabel "Disease Taxonomy"^^xsd:string ;
skos:scopeNote "The semantic version number for the disease taxonomy is 6.3.0. This version depends on the version of the disease ontology being between 3.1.0 and 4.0.0. It also depends on the version of gist core being between 12.1.0 and 13.0.0."^^xsd:string ;
ver:dependsOn
[
a ver:VersionRangeSpec ;
Expand Down Expand Up @@ -66,10 +71,15 @@

<https://w3id.org/semanticarts/ontology/gistCore>
a owl:Ontology ;
owl:imports
<https://w3id.org/semanticarts/ontology/operators1.0.0> ,
<https://w3id.org/semanticarts/ontology/versioning1.0.0>
;
owl:versionIRI <https://w3id.org/semanticarts/ontology/gistCore12.2.2> ;
rjyounes marked this conversation as resolved.
Show resolved Hide resolved
skos:prefLabel "gist"^^xsd:string ;
ver:hasVersionNumber [
a ver:SemanticVersionNumber ;
ver:uniqueText "12.2.0"^^xsd:string ;
ver:uniqueText "12.2.2"^^xsd:string ;
] ;
.

9 changes: 5 additions & 4 deletions versioning.ttl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# imports: https://w3id.org/semanticarts/ontology/operators
# imports: https://w3id.org/semanticarts/ontology/operators1.0.0

@prefix ops: <https://w3id.org/semanticarts/ns/ontology/operators/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
Expand All @@ -11,10 +11,11 @@

<https://w3id.org/semanticarts/ontology/versioning>
a owl:Ontology ;
owl:imports <https://w3id.org/semanticarts/ontology/operators> ;
owl:imports <https://w3id.org/semanticarts/ontology/operators1.0.0> ;
owl:versionIRI <https://w3id.org/semanticarts/ontology/versioningX.x.x> ;
skos:definition "Generic concepts for semantic versioning of a suite of artifacts for semantic systems in production."^^xsd:string ;
skos:editorialNote "Although this was originally intended for semantic version numbers, the ontology could be tweaked in a very small way to use different version numbers, so long as they are ordered."^^xsd:string ;
skos:editorialNote "Although this was originally intended for semantic version numbers, the ontology could be tweaked in a very small way to use different version numbers, so long as they are ordered."^^xsd:string ;
skos:example "The semantic version number for the disease taxonomy is 6.3.0. This version depends on the version of the imported disease ontology being at least 3.1.0 and less than 4.0.0. It also depends on the version of gist core being at least 12.1.0 and less than 13.0.0."^^xsd:string ;
skos:prefLabel "Semantic Versioning Ontology"^^xsd:string ;
ver:hasVersionNumber [
a ver:SemanticVersionNumber ;
Expand Down Expand Up @@ -114,7 +115,7 @@ ver:VersionedItemCollection
ver:dependsOn
a owl:ObjectProperty ;
skos:definition "Relates something to what it depends on."^^xsd:string ;
skos:example "A given versioned item may depend on a particular version (or range of versions) of another versioned item."^^xsd:string ;
skos:example "Version 6.3.0 of a disease taxonomy depends on the version number of an imported disease ontology being at least 3.1.0 and less than 4.0.0."^^xsd:string ;
skos:prefLabel "depends on"^^xsd:string ;
.

Expand Down