Skip to content

Commit

Permalink
Add docker SoftwareBackendEnum
Browse files Browse the repository at this point in the history
  • Loading branch information
Daniel Incicau committed Aug 27, 2024
1 parent 4d0ea3e commit 0a6795e
Show file tree
Hide file tree
Showing 9 changed files with 197 additions and 183 deletions.
Binary file modified project/excel/omni_schema.xlsx
Binary file not shown.
2 changes: 1 addition & 1 deletion project/jsonld/omni_schema.context.jsonld
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"comments": {
"description": "Auto generated by LinkML jsonld context generator",
"generation_date": "2024-08-27T15:30:28",
"generation_date": "2024-08-27T15:40:47",
"source": "omni_schema.yaml"
},
"@context": {
Expand Down
9 changes: 6 additions & 3 deletions project/jsonld/omni_schema.jsonld
Original file line number Diff line number Diff line change
Expand Up @@ -364,6 +364,9 @@
},
{
"text": "conda"
},
{
"text": "docker"
}
]
}
Expand Down Expand Up @@ -913,9 +916,9 @@
],
"metamodel_version": "1.7.0",
"source_file": "omni_schema.yaml",
"source_file_date": "2024-08-27T15:15:07",
"source_file_size": 5231,
"generation_date": "2024-08-27T15:30:28",
"source_file_date": "2024-08-27T15:40:43",
"source_file_size": 5266,
"generation_date": "2024-08-27T15:40:47",
"@type": "SchemaDefinition",
"@context": [
"project/jsonld/omni_schema.context.jsonld",
Expand Down
3 changes: 2 additions & 1 deletion project/jsonschema/omni_schema.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,8 @@
"enum": [
"apptainer",
"envmodules",
"conda"
"conda",
"docker"
],
"title": "SoftwareBackendEnum",
"type": "string"
Expand Down
170 changes: 88 additions & 82 deletions project/owl/omni_schema.owl.ttl

Large diffs are not rendered by default.

188 changes: 94 additions & 94 deletions project/shacl/omni_schema.shacl.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,11 @@ omni_schema:Benchmark a sh:NodeShape ;
sh:description "A multi-stage workflow to evaluate processing stage for a specific task." ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:description "Benchmark Specification version." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 6 ;
sh:path omni_schema:benchmark_yaml_spec ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 9 ;
sh:path schema1:name ],
[ sh:description "The software backend used to run the benchmark, e.g. whether apptainer, envmodules, or conda." ;
sh:in ( "apptainer" "envmodules" "conda" ) ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 2 ;
sh:path omni_schema:software_backend ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 10 ;
sh:path schema1:description ],
[ sh:datatype xsd:string ;
sh:description "The name and contact details of the person responsible for this benchmark." ;
sh:maxCount 1 ;
Expand All @@ -48,37 +30,55 @@ omni_schema:Benchmark a sh:NodeShape ;
sh:nodeKind sh:Literal ;
sh:order 8 ;
sh:path schema1:identifier ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 10 ;
sh:path schema1:description ],
[ sh:description "The software backend used to run the benchmark, e.g. whether apptainer, envmodules, or conda." ;
sh:in ( "apptainer" "envmodules" "conda" "docker" ) ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 2 ;
sh:path omni_schema:software_backend ],
[ sh:datatype xsd:string ;
sh:description "The place hosting all benchmark data." ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 3 ;
sh:path omni_schema:storage ],
[ sh:datatype xsd:string ;
sh:description "The version of the benchmark." ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 0 ;
sh:path omni_schema:version ],
[ sh:description "The type of the storage API, i.e. S3." ;
sh:in ( "S3" ) ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:order 4 ;
sh:path omni_schema:storage_api ],
[ sh:class omni_schema:Stage ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:order 7 ;
sh:path omni_schema:stages ],
[ sh:class omni_schema:SoftwareEnvironment ;
sh:description "Dictionary of software environments keyed by their identifiers" ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:order 5 ;
sh:path omni_schema:software_environments ],
[ sh:datatype xsd:string ;
sh:description "The version of the benchmark." ;
sh:description "Benchmark Specification version." ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 0 ;
sh:path omni_schema:version ] ;
sh:order 6 ;
sh:path omni_schema:benchmark_yaml_spec ],
[ sh:class omni_schema:Stage ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:order 7 ;
sh:path omni_schema:stages ] ;
sh:targetClass omni_schema:Benchmark .

omni_schema:InputCollection a sh:NodeShape ;
Expand Down Expand Up @@ -127,11 +127,21 @@ omni_schema:Stage a sh:NodeShape ;
sh:description "A benchmark subtask with equivalent and independent modules." ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 4 ;
sh:path schema1:name ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 5 ;
sh:path schema1:description ],
[ sh:class omni_schema:InputCollection ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:order 1 ;
sh:path omni_schema:inputs ],
[ sh:datatype xsd:anyURI ;
sh:description "A unique identifier for a thing" ;
sh:maxCount 1 ;
Expand All @@ -144,20 +154,10 @@ omni_schema:Stage a sh:NodeShape ;
sh:nodeKind sh:IRI ;
sh:order 0 ;
sh:path omni_schema:modules ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 4 ;
sh:path schema1:name ],
[ sh:class omni_schema:IOFile ;
sh:nodeKind sh:IRI ;
sh:order 2 ;
sh:path omni_schema:outputs ],
[ sh:class omni_schema:InputCollection ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:order 1 ;
sh:path omni_schema:inputs ] ;
sh:path omni_schema:outputs ] ;
sh:targetClass omni_schema:Stage .

omni_schema:IOFile a sh:NodeShape ;
Expand All @@ -166,17 +166,17 @@ omni_schema:IOFile a sh:NodeShape ;
sh:description "Represents an input / output file." ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 2 ;
sh:path schema1:name ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 3 ;
sh:path schema1:description ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 2 ;
sh:path schema1:name ],
[ sh:datatype xsd:string ;
sh:description "The output path pattern for the IO file." ;
sh:maxCount 1 ;
Expand All @@ -198,47 +198,47 @@ omni_schema:Module a sh:NodeShape ;
sh:description "A single benchmark component assigned to a specific stage." ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 5 ;
sh:path schema1:name ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 6 ;
sh:path schema1:description ],
[ sh:class omni_schema:Repository ;
sh:description "The code repository hosting the module." ;
[ sh:datatype xsd:anyURI ;
sh:description "A unique identifier for a thing" ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:order 1 ;
sh:path omni_schema:repository ],
sh:nodeKind sh:Literal ;
sh:order 4 ;
sh:path schema1:identifier ],
[ sh:class omni_schema:Module ;
sh:description "Ignore these module's outputs as input." ;
sh:nodeKind sh:IRI ;
sh:order 2 ;
sh:path omni_schema:exclude ],
[ sh:class omni_schema:SoftwareEnvironment ;
sh:description "Reference to a software environment by key." ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:order 0 ;
sh:path omni_schema:software_environment ],
[ sh:class omni_schema:Repository ;
sh:description "The code repository hosting the module." ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:order 1 ;
sh:path omni_schema:repository ],
[ sh:class omni_schema:Parameter ;
sh:nodeKind sh:BlankNodeOrIRI ;
sh:order 3 ;
sh:path omni_schema:parameters ],
[ sh:class omni_schema:Module ;
sh:description "Ignore these module's outputs as input." ;
sh:nodeKind sh:IRI ;
sh:order 2 ;
sh:path omni_schema:exclude ],
[ sh:datatype xsd:anyURI ;
sh:description "A unique identifier for a thing" ;
sh:maxCount 1 ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 4 ;
sh:path schema1:identifier ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 5 ;
sh:path schema1:name ] ;
sh:path omni_schema:parameters ] ;
sh:targetClass omni_schema:Module .

omni_schema:SoftwareEnvironment a sh:NodeShape ;
Expand All @@ -247,6 +247,24 @@ omni_schema:SoftwareEnvironment a sh:NodeShape ;
sh:description "Contains snapshots of the software environment required for the modules to run." ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:description "Apptainer image static ORAS url, including name:tag." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 3 ;
sh:path omni_schema:apptainer ],
[ sh:datatype xsd:string ;
sh:description "Environment module name." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 1 ;
sh:path omni_schema:envmodule ],
[ sh:datatype xsd:string ;
sh:description "Conda environment file." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 2 ;
sh:path omni_schema:conda ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
Expand All @@ -258,12 +276,6 @@ omni_schema:SoftwareEnvironment a sh:NodeShape ;
sh:nodeKind sh:Literal ;
sh:order 5 ;
sh:path schema1:name ],
[ sh:datatype xsd:string ;
sh:description "Apptainer image static ORAS url, including name:tag." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 3 ;
sh:path omni_schema:apptainer ],
[ sh:datatype xsd:anyURI ;
sh:description "A unique identifier for a thing" ;
sh:maxCount 1 ;
Expand All @@ -276,32 +288,14 @@ omni_schema:SoftwareEnvironment a sh:NodeShape ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 0 ;
sh:path omni_schema:easyconfig ],
[ sh:datatype xsd:string ;
sh:description "Conda environment file." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 2 ;
sh:path omni_schema:conda ],
[ sh:datatype xsd:string ;
sh:description "Environment module name." ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 1 ;
sh:path omni_schema:envmodule ] ;
sh:path omni_schema:easyconfig ] ;
sh:targetClass omni_schema:SoftwareEnvironment .

schema1:Thing a sh:NodeShape ;
sh:closed false ;
sh:description "A generic grouping for any identifiable entity" ;
sh:ignoredProperties ( rdf:type ) ;
sh:property [ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 2 ;
sh:path schema1:description ],
[ sh:datatype xsd:string ;
sh:description "A human-readable name for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
Expand All @@ -313,6 +307,12 @@ schema1:Thing a sh:NodeShape ;
sh:minCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 0 ;
sh:path schema1:identifier ] ;
sh:path schema1:identifier ],
[ sh:datatype xsd:string ;
sh:description "A human-readable description for a thing" ;
sh:maxCount 1 ;
sh:nodeKind sh:Literal ;
sh:order 2 ;
sh:path schema1:description ] ;
sh:targetClass schema1:Thing .

3 changes: 2 additions & 1 deletion project/shex/omni_schema.shex
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,8 @@ linkml:Sparqlpath xsd:string
<benchmarker> @linkml:String ;
<software_backend> [ <https://w3id.org/omnibenchmark/omni-schema/SoftwareBackendEnum#apptainer>
<https://w3id.org/omnibenchmark/omni-schema/SoftwareBackendEnum#envmodules>
<https://w3id.org/omnibenchmark/omni-schema/SoftwareBackendEnum#conda> ] ;
<https://w3id.org/omnibenchmark/omni-schema/SoftwareBackendEnum#conda>
<https://w3id.org/omnibenchmark/omni-schema/SoftwareBackendEnum#docker> ] ;
<storage> @linkml:String ;
<storage_api> [ <https://w3id.org/omnibenchmark/omni-schema/StorageAPIEnum#S3> ] ;
<software_environments> @<SoftwareEnvironment> + ;
Expand Down
3 changes: 2 additions & 1 deletion src/omni_schema/datamodel/omni_schema.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Auto generated from omni_schema.yaml by pythongen.py version: 0.0.1
# Generation date: 2024-08-27T15:30:28
# Generation date: 2024-08-27T15:40:48
# Schema: omni-schema
#
# id: https://w3id.org/omnibenchmark/omni-schema
Expand Down Expand Up @@ -398,6 +398,7 @@ class SoftwareBackendEnum(EnumDefinitionImpl):
apptainer = PermissibleValue(text="apptainer")
envmodules = PermissibleValue(text="envmodules")
conda = PermissibleValue(text="conda")
docker = PermissibleValue(text="docker")

_defn = EnumDefinition(
name="SoftwareBackendEnum",
Expand Down
2 changes: 2 additions & 0 deletions src/omni_schema/schema/omni_schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ enums:
text: envmodules
conda:
text: conda
docker:
text: docker

classes:
IdentifiableEntity:
Expand Down

0 comments on commit 0a6795e

Please sign in to comment.