:TechniqueShape leaf node


URI

https://ontology.solveit-df.org/solveit/core/shapes/TechniqueShape

Label

SOLVE-IT Technique Shape

Description

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.

Target Classes (1)

Shape Properties

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

Implementation

@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 .