https://ontology.solveit-df.org/solveit/core/shapes/TechniqueIOTermConsistencyShape
Checks that a term named as a technique input or output is not declared as more than one kind of thing, which happens when SOLVE-IT states a type that contradicts the one CASE or UCO gives it.
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 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/> .
:TechniqueIOTermConsistencyShape a sh:NodeShape ;
rdfs:label "SOLVE-IT Technique Input and Output Term Consistency Shape"@en ;
rdfs:comment "Checks that a term named as a technique input or output is not declared as more than one kind of thing, which happens when SOLVE-IT states a type that contradicts the one CASE or UCO gives it."@en ;
sh:sparql [ sh:message "A term named as a technique input or output is declared as more than one kind of thing. SOLVE-IT and CASE/UCO disagree about what it is."@en ;
sh:prefixes solveit-core: ;
sh:select """
SELECT $this ?value
WHERE {
$this ?path ?value .
FILTER(?path IN (<https://ontology.solveit-df.org/solveit/core/hasCASEInputClass>,
<https://ontology.solveit-df.org/solveit/core/hasCASEOutputClass>))
?value a ?kindA, ?kindB .
FILTER(?kindA != ?kindB)
FILTER(?kindA IN (<http://www.w3.org/2002/07/owl#Class>,
<http://www.w3.org/2002/07/owl#DatatypeProperty>,
<http://www.w3.org/2002/07/owl#ObjectProperty>))
FILTER(?kindB IN (<http://www.w3.org/2002/07/owl#Class>,
<http://www.w3.org/2002/07/owl#DatatypeProperty>,
<http://www.w3.org/2002/07/owl#ObjectProperty>))
}
""" ] ;
sh:targetClass solveit-core:Technique .