@prefix vvo:  <http://vvo.pisanoapi.at/> .
@prefix rdf:  <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xs:   <http://www.w3.org/2001/XMLSchema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

vvo:ProdElementShape a sh:NodeShape ;
    sh:targetClass vvo:ProdElement ;
    sh:property [
        sh:path vvo:bez ;
        sh:datatype xs:string ;
        sh:maxCount 1 ;
        sh:minCount 1 ;
    ] ;
    sh:property [
        sh:path vvo:salesFrom ;
        sh:datatype xs:date  ;
        sh:maxCount 1 ;
        sh:minCount 1 ;

    ] ;
    sh:property [
        sh:path vvo:salesTo ;
        sh:datatype xs:date  ;
        sh:maxCount 1 ;
        sh:minCount 0 ;
    ] ;
    sh:property [
        sh:path vvo:minOccurrence ;
        sh:datatype xs:integer   ;
        sh:maxCount 1 ;
        sh:minCount 1 ;
    ] ;
    sh:property [
        sh:path vvo:maxOccurrence ;
        sh:datatype xs:integer    ;
        sh:minCount 0 ;
        sh:maxCount 1 ;
    ] ;
    sh:property [
        sh:path vvo:type ;
        sh:datatype xs:string   ;
        sh:maxCount 1 ;
        sh:minCount 1 ;
    ] ;
    sh:property [
        sh:path vvo:risikoobjektType ;
        sh:datatype xs:string   ;
        sh:maxCount 1 ;
        sh:minCount 0 ;
    ] ;
    sh:property [
        sh:path vvo:parent ;
        sh:datatype vvo:ProdElement ;
        sh:maxCount 1 ;
        sh:minCount 0 ;
    ] ;
    sh:property [
        sh:path vvo:baustein ;
        sh:datatype vvo:ProdElement ;
        sh:minCount 0 ;
    ] .
