Ontology Version: 2.2.0

cacontology-partnerships-shapes:QualifiedPartnershipParticipationShape leaf node


URI

https://cacontology.projectvic.org/partnerships/shapes#QualifiedPartnershipParticipationShape

Label

Qualified Partnership Participation Shape

Description

Validates gUFO qualified participation situations in partnerships.

Target Classes (1)

Shape Properties

Instances of gufo:ParticipationSituation can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

gufo:ParticipationSituation
cacontology-corruption:concernsCorruptOfficer 1 1 cacontology-corruption:CorruptLawEnforcementOfficer
cacontology-legal:concernsLegalFramework 1 1 cacontology-legal:NationalLegislation
1 xsd:dateTimeStamp

Implementation

@prefix cacontology-partnerships-shapes: <https://cacontology.projectvic.org/partnerships/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-partnerships-shapes:QualifiedPartnershipParticipationShape a sh:NodeShape ;
    rdfs:label "Qualified Partnership Participation Shape"@en ;
    rdfs:comment "Validates gUFO qualified participation situations in partnerships."@en ;
    sh:sparql [ sh:message "Qualified participation must involve appropriate partnership roles and organizations (gUFO qualified relation)."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this rdf:type gufo:ParticipationSituation .
                $this gufo:participatesIn ?partnership .
                ?partnership rdf:type cacontology-partnerships:PublicPrivatePartnership .
                FILTER NOT EXISTS {
                    ?org cacontology-partnerships:hasRole ?role .
                    ?role rdf:type ?roleType .
                    ?roleType rdfs:subClassOf* cacontology-partnerships:PartnerRole .
                }
            }
        """ ] ;
    sh:targetClass gufo:ParticipationSituation .