# SHACL schema for SHACL PREFIX sh: PREFIX xsd: PREFIX rdf: sh:ShapeShape a sh:Shape ; sh:property [ sh:predicate rdf:type ; sh:allowedValue sh:Shape ; sh:minCount 0; sh:maxCount 1 ; ] ; sh:property [ sh:predicate sh:property ; sh:valueShape sh:PropertyShape ; sh:minCount 0 ; ] ; sh:property [ sh:predicate sh:inverseProperty ; sh:valueShape sh:InversePropertyShape ; sh:minCount 0 ; ] ; sh:property [ sh:predicate sh:choice ; sh:valueShape sh:ShapeShape ; sh:minCount 0 ; ] ; sh:property [ sh:predicate sh:propertyGroup ; sh:valueShape sh:ShapeShape ; sh:minCount 0 ; ] ; . sh:PropertyShape a sh:Shape ; sh:property [ sh:predicate sh:predicate ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; sh:choice [ a sh:Shape ; sh:property [ sh:predicate sh:allowedValue ; sh:nodeKind sh:RDFTerm ; sh:minCount 1 ; ] ; sh:property [ sh:predicate sh:valueShape ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; sh:property [ sh:predicate sh:valueType ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; sh:property [ sh:predicate sh:nodeKind ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; ] ; sh:property [ sh:predicate sh:minCount ; sh:valueType xsd:integer ; sh:minCount 0; sh:maxCount 1 ; ] ; sh:property [ sh:predicate sh:maxCount ; sh:valueType xsd:integer ; sh:minCount 0; sh:maxCount 1 ; ] ; . sh:InversePropertyShape a sh:Shape ; sh:property [ sh:predicate sh:predicate ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; sh:choice [ a sh:Shape ; sh:property [ sh:predicate sh:allowedValue ; sh:nodeKind sh:RDFTerm ; sh:minCount 1 ; ] ; sh:property [ sh:predicate sh:valueShape ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; sh:property [ sh:predicate sh:nodeKind ; sh:nodeKind sh:IRI ; sh:minCount 1; sh:maxCount 1 ; ] ; ] ; sh:property [ sh:predicate sh:minCount ; sh:valueType xsd:integer ; sh:minCount 0; sh:maxCount 1 ; ] ; sh:property [ sh:predicate sh:maxCount ; sh:valueType xsd:integer ; sh:minCount 0; sh:maxCount 1 ; ] ; . # source: shacl.shex