Ontology Version: 2.2.0

cacontology-partnerships-shapes:TechCooperationParticipationShape leaf node


URI

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

Label

Tech Cooperation Participation Shape

Description

Validates gUFO participation constraints for technology cooperation.

Shape Properties

Instances of cacontology-partnerships:TechIndustryCooperation can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-partnerships:PublicPrivatePartnership
1 1 xsd:boolean
1 xsd:string
1 xsd:string
cacontology-partnerships:hasPartnershipBeginPoint 1 xsd:dateTimeStamp
1 xsd:string
cacontology-partnerships:hasPartnershipEndPoint 1 xsd:dateTimeStamp
1 xsd:double
1 xsd:double
1 1 xsd:nonNegativeInteger
cacontology-partnerships:partnershipDuration 0 1 xsd:decimal
1 1 xsd:string

Implementation

@prefix cacontology-partnerships: <https://cacontology.projectvic.org/partnerships#> .
@prefix cacontology-partnerships-shapes: <https://cacontology.projectvic.org/partnerships/shapes#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-partnerships-shapes:TechCooperationParticipationShape a sh:NodeShape ;
    rdfs:label "Tech Cooperation Participation Shape"@en ;
    rdfs:comment "Validates gUFO participation constraints for technology cooperation."@en ;
    sh:sparql [ sh:message "Tech cooperation must include at least one technology partner and one law enforcement partner (gUFO participation constraint)."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this rdf:type cacontology-partnerships:TechIndustryCooperation .
                FILTER NOT EXISTS {
                    $this cacontology-partnerships:includesPartner ?techOrg .
                    ?techOrg cacontology-partnerships:hasRole ?techRole .
                    ?techRole rdf:type cacontology-partnerships:TechnologyPartner .
                } ||
                FILTER NOT EXISTS {
                    $this cacontology-partnerships:includesPartner ?leOrg .
                    ?leOrg cacontology-partnerships:hasRole ?leRole .
                    ?leRole rdf:type cacontology-partnerships:LawEnforcementPartner .
                }
            }
        """ ] ;
    sh:targetClass cacontology-partnerships:TechIndustryCooperation .