@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix edu: <https://knobit.org/def/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .

edu:KnobitDependenciesAcyclicShape a sh:NodeShape ;
    rdfs:label "Knobit dependencies have no cycles"@en,
        "Knobitite eeldusseosed ei moodusta tsüklit"@et ;
    dcterms:license <https://creativecommons.org/licenses/by/4.0/> ;
    sh:sparql [ a sh:SPARQLConstraint ;
            sh:message "Knobit is its own direct or indirect prerequisite (dependsOnKnobit forms a cycle)."@en,
                "Knobit on iseenda otsene või kaudne eeldus (dependsOnKnobit moodustab tsükli)."@et ;
            sh:prefixes edu:shapes ;
            sh:select """\r
            SELECT $this\r
            WHERE {\r
                $this edu:dependsOnKnobit+ $this .\r
            }\r
        """ ] ;
    sh:targetSubjectsOf edu:dependsOnKnobit .

edu:dependsOnKnobit rdfs:label "depends on knobit"@en,
        "Eeldab knobitit"@et .

