diff --git a/shacl12-sparql/index.html b/shacl12-sparql/index.html
index 826bd282..462f5760 100644
--- a/shacl12-sparql/index.html
+++ b/shacl12-sparql/index.html
@@ -1253,7 +1253,7 @@
Annotation Properties
sh:annotationValue |
- Constant RDF terms that shall be used as default values.
+ Constant RDF terms that shall be used as default values.
|
diff --git a/shacl12-vocabularies/shacl-shacl.ttl b/shacl12-vocabularies/shacl-shacl.ttl
index dc0f2c72..31b563fb 100644
--- a/shacl12-vocabularies/shacl-shacl.ttl
+++ b/shacl12-vocabularies/shacl-shacl.ttl
@@ -409,3 +409,54 @@ shsh:EntailmentShape
a sh:NodeShape ;
sh:targetObjectsOf sh:entailment ;
sh:nodeKind sh:IRI . # entailment-nodeKind
+
+shsh:SPARQLExecutableShape
+ a sh:NodeShape ;
+ sh:targetClass sh:SPARQLExecutable ;
+ sh:targetSubjectsOf sh:prefixes ;
+ sh:property [
+ sh:path sh:prefixes ;
+ sh:nodeKind sh:BlankNodeOrIRI ; # prefixes-nodeKind
+ ] .
+
+shsh:SPARQLAskExecutableShape
+ a sh:NodeShape ;
+ sh:targetSubjectsOf sh:ask , sh:resultAnnotation ;
+ sh:property [
+ sh:path sh:ask ;
+ sh:minCount 1 ; # ask-count
+ sh:maxCount 1 ; # ask-count
+ sh:datatype xsd:string ; # ask-datatype
+ ] .
+
+shsh:SPARQLSelectExecutableShape
+ a sh:NodeShape ;
+ sh:targetSubjectsOf sh:select , sh:resultAnnotation ;
+ sh:property [
+ sh:path sh:select ;
+ sh:minCount 1 ; # SPARQLConstraint-select-count
+ sh:maxCount 1 ; # SPARQLConstraint-select-count
+ sh:datatype xsd:string ; # SPARQLConstraint-select-datatype
+ ] .
+
+shsh:ResultAnnotationShape
+ a sh:NodeShape ;
+ sh:targetObjectsOf sh:resultAnnotation ; # sparql-constraints-annotations
+ sh:nodeKind sh:BlankNodeOrIRI ; # resultAnnotation-nodeKind
+ sh:property
+ [
+ sh:path sh:annotationProperty ; # annotationProperty
+ sh:minCount 1 ;
+ sh:maxCount 1 ;
+ sh:nodeKind sh:IRI ;
+ ] ,
+ [
+ sh:path sh:annotationVarName ; # annotationVarName
+ sh:datatype xsd:string ;
+ sh:maxCount 1 ;
+ sh:nodeKind sh:Literal ;
+ ] ,
+ [
+ sh:path sh:annotationValue ; # annotationValue
+ sh:nodeKind sh:IRI ;
+ ] .