Ontology Version: 2.2.0

cacontology-educational:shapes/FoundationalTypeComplianceShape leaf node


URI

https://ontology.caseontology.org/icac/educational-exploitation/shapes/FoundationalTypeComplianceShape

Label

gUFO Foundational Type Compliance Shape

Description

Ensures 100% gUFO typing compliance across educational domain entities.

Implementation

@prefix cacontology-educational-shapes: <https://ontology.caseontology.org/icac/educational-exploitation/shapes/> .
@prefix gufo: <http://purl.org/nemo/gufo#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-educational-shapes:FoundationalTypeComplianceShape a sh:NodeShape ;
    rdfs:label "gUFO Foundational Type Compliance Shape"@en ;
    rdfs:comment "Ensures 100% gUFO typing compliance across educational domain entities."@en ;
    sh:sparql [ sh:message "All educational institutions must be properly typed as gUFO Kinds"@en ;
            sh:select """
            SELECT ?this
            WHERE {
                ?this rdf:type cacontology-educational:EducationalInstitution .
                FILTER (NOT EXISTS { ?this rdf:type gufo:Kind })
            }
        """ ],
        [ sh:message "All educator roles must be properly typed as anti-rigid gUFO Roles"@en ;
            sh:select """
            SELECT ?this
            WHERE {
                ?this rdf:type cacontology-educational:EducatorRole .
                FILTER (NOT EXISTS { ?this rdf:type gufo:Role })
            }
        """ ],
        [ sh:message "All educational phases must be properly typed as anti-rigid gUFO Phases"@en ;
            sh:select """
            SELECT ?this
            WHERE {
                ?this rdf:type cacontology-educational:AcademicTermPhase .
                FILTER (NOT EXISTS { ?this rdf:type gufo:Phase })
            }
        """ ],
        [ sh:message "All exploitation events must be properly typed as gUFO Events"@en ;
            sh:select """
            SELECT ?this
            WHERE {
                ?this rdf:type cacontology-educational:EducatorPerpetratedExploitation .
                FILTER (NOT EXISTS { ?this rdf:type gufo:Event })
            }
        """ ],
        [ sh:message "All educational situations must be properly typed as gUFO Situations"@en ;
            sh:select """
            SELECT ?this
            WHERE {
                ?this rdf:type cacontology-educational:EducationalExploitationSituation .
                FILTER (NOT EXISTS { ?this rdf:type gufo:Situation })
            }
        """ ] ;
    sh:targetNode gufo:Event,
        gufo:Kind,
        gufo:Object,
        gufo:Phase,
        gufo:Role,
        gufo:Situation .