https://ontology.caseontology.org/icac/educational-exploitation/shapes/FoundationalTypeComplianceShape
Ensures 100% gUFO typing compliance across educational domain entities.
@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 .