Ontology Version: 2.2.0

cacontology-athletic:AthleticExploitationCrossReferenceShape leaf node


URI

https://cacontology.projectvic.org/athletic#AthleticExploitationCrossReferenceShape

Label

Athletic Exploitation Cross Reference Shape

Description

Enhanced validation that athletic coaching exploitation involves appropriate gUFO foundational entities.

Shape Properties

Instances of cacontology-athletic:AthleticCoachingExploitation can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-athletic:AthleticCoachingExploitation
cacontology-athletic:currentPhase 0 1 gufo:Phase
cacontology-athletic:holdsCoachingRole 1 cacontology-athletic:AthleticCoachRole
cacontology-athletic:sportType 1 1 xsd:string
1 1 xsd:nonNegativeInteger
cacontology-athletic:teamType 1 1 xsd:string
cacontology-gufo:exploitationBeginTime 1 1 xsd:dateTime
cacontology-gufo:exploitationEndTime 0 1 xsd:dateTime

Implementation

@prefix cacontology-athletic: <https://cacontology.projectvic.org/athletic#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-athletic:AthleticExploitationCrossReferenceShape a sh:NodeShape ;
    rdfs:label "Athletic Exploitation Cross Reference Shape"@en ;
    rdfs:comment "Enhanced validation that athletic coaching exploitation involves appropriate gUFO foundational entities."@en ;
    sh:sparql [ sh:message "Athletic coaching exploitation should involve gUFO Role coaches and occur in gUFO Object facilities."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this a cacontology-athletic:AthleticCoachingExploitation .
                FILTER NOT EXISTS {
                    { $this cacontology-athletic:holdsCoachingRole ?role . ?role a gufo:Role . } UNION
                    { $this cacontology-athletic:occursInFacility ?facility . ?facility a gufo:Object . }
                }
            }
        """ ] ;
    sh:targetClass cacontology-athletic:AthleticCoachingExploitation .