https://ontology.solveit-df.org/solveit/core/shapes/TechniqueIOTermShape
Checks that every term a technique names as an input or an output is declared as a class, a datatype property or an object property, and not as something else.
Focus nodes of this shape (solveit-core:Technique) can have the following properties:
| PROPERTY | DESCRIPTION | MIN | MAX | VALUE TYPE | OTHER CONSTRAINTS |
|---|---|---|---|---|---|
| solveit-core:hasCASEInputClass | A CASE/UCO term that represents an expected input to this technique. Usually a class (e.g., solveit-observable:WriteProtectedDeviceInterface), but a property where the technique consumes a single value rather than an object (e.g., uco-observable:filePath). No rdfs:range is asserted, because no single one is true of both; :TechniqueIOTermShape carries the constraint instead. sh:message A technique input must be a CASE/UCO class, datatype property or object property, and must be declared as one in the graph. |
0 | * | sh:IRI |
sh:or
( owl:Class | owl:DatatypeProperty | owl:ObjectProperty )
|
| solveit-core:hasCASEOutputClass | A CASE/UCO term that represents an output of this technique. Usually a class (e.g., uco-observable:Image), but a property where the technique produces a single value rather than an object (e.g., case-investigation:exhibitNumber). No rdfs:range is asserted, because no single one is true of both; :TechniqueIOTermShape carries the constraint instead. sh:message A technique output must be a CASE/UCO class, datatype property or object property, and must be declared as one in the graph. |
0 | * | sh:IRI |
sh:or
( owl:Class | owl:DatatypeProperty | owl:ObjectProperty )
|
@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/> .
default2:TechniqueIOTermShape a sh:NodeShape ;
rdfs:label "SOLVE-IT Technique Input and Output Term Shape"@en ;
rdfs:comment "Checks that every term a technique names as an input or an output is declared as a class, a datatype property or an object property, and not as something else."@en ;
sh:property [ sh:message "A technique output must be a CASE/UCO class, datatype property or object property, and must be declared as one in the graph."@en ;
sh:nodeKind sh:IRI ;
sh:or ( [ sh:class owl:Class ] [ sh:class owl:DatatypeProperty ] [ sh:class owl:ObjectProperty ] ) ;
sh:path solveit-core:hasCASEOutputClass ],
[ sh:message "A technique input must be a CASE/UCO class, datatype property or object property, and must be declared as one in the graph."@en ;
sh:nodeKind sh:IRI ;
sh:or ( [ sh:class owl:Class ] [ sh:class owl:DatatypeProperty ] [ sh:class owl:ObjectProperty ] ) ;
sh:path solveit-core:hasCASEInputClass ] ;
sh:targetClass solveit-core:Technique .