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.
Focus nodes of this shape (solveit-core:Technique) can have the following properties:
| PROPERTY | DESCRIPTION | MIN | MAX | VALUE TYPE | OTHER CONSTRAINTS |
|---|---|---|---|---|---|
rdf:type |
sh:message A SOLVE-IT technique must also be declared an owl:Class, so that performed actions can be typed with it. |
0 | * |
sh:hasValue
owl:Class
|
|
rdfs:subClassOf |
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. |
1 | * | sh:IRI | |
| solveit-core:techniqueID | The unique identifier for a SOLVE-IT technique (e.g., T1002). sh:message A SOLVE-IT technique must have exactly one techniqueID. |
1 | 1 |
@prefix default2: <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#> .
default2: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 .