https://ontology.solveit-df.org/solveit/core/shapes/TechniqueShape
Checks that each SOLVE-IT technique is declared as an owl:Class and is placed under solveit-core:SolveitInvestigativeAction, directly or through a parent technique.
Instances of solveit-core:Technique can have the following properties:
PROPERTY |
MIN COUNT |
MAX COUNT |
TYPE |
|
|---|---|---|---|---|
| solveit-core:Technique | ||||
| 1 | ||||
| solveit-core:hasCASEInputClass | ||||
| solveit-core:hasCASEOutputClass | ||||
| solveit-core:techniqueID | 1 | 1 | ||
@prefix : <https://ontology.solveit-df.org/solveit/core/shapes/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix solveit-core: <https://ontology.solveit-df.org/solveit/core/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:TechniqueShape a sh:NodeShape ;
rdfs:label "SOLVE-IT Technique Shape"@en ;
rdfs:comment "Checks that each SOLVE-IT technique is declared as an owl:Class and is placed under solveit-core:SolveitInvestigativeAction, directly or through a parent technique."@en ;
sh:property [ sh:hasValue owl:Class ;
sh:message "A SOLVE-IT technique must also be declared an owl:Class, so that performed actions can be typed with it."@en ;
sh:path rdf:type ],
[ sh:message "A SOLVE-IT technique class must have at least one rdfs:subClassOf — either its parent technique, or solveit-core:SolveitInvestigativeAction for a root technique."@en ;
sh:minCount 1 ;
sh:nodeKind sh:IRI ;
sh:path rdfs:subClassOf ],
[ sh:maxCount 1 ;
sh:message "A SOLVE-IT technique must have exactly one techniqueID."@en ;
sh:minCount 1 ;
sh:path solveit-core:techniqueID ] ;
sh:targetClass solveit-core:Technique .