Skip to content

Commit

Permalink
Merge pull request #11 from semanticarts/improve-readme
Browse files Browse the repository at this point in the history
Fixes #10. Fixes #13 

- Greatly improved the README file and tweaked a few annotations.
- Fixed an import statement.
- Only importing versionIRIs. 
- Added example annotations
  • Loading branch information
uscholdm authored Oct 13, 2023
2 parents 01fec44 + 4700bb2 commit 09b43ed
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 14 deletions.
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> ;
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

0 comments on commit 09b43ed

Please sign in to comment.