https://cacontology.projectvic.org/partnerships/shapes#MultiStakeholderParticipationShape
Validates gUFO participation constraints for multi-stakeholder initiatives.
Instances of cacontology-partnerships:MultiStakeholderInitiative 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
|
||
@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:MultiStakeholderParticipationShape a sh:NodeShape ;
rdfs:label "Multi-Stakeholder Participation Shape"@en ;
rdfs:comment "Validates gUFO participation constraints for multi-stakeholder initiatives."@en ;
sh:sparql [ sh:message "Multi-stakeholder initiative must include at least 3 different types of partners (gUFO participation constraint)."@en ;
sh:select """
SELECT $this
WHERE {
$this rdf:type cacontology-partnerships:MultiStakeholderInitiative .
{
SELECT $this (COUNT(DISTINCT ?roleType) AS ?roleTypeCount)
WHERE {
$this cacontology-partnerships:includesPartner ?partner .
?partner cacontology-partnerships:hasRole ?role .
?role rdf:type ?roleType .
?roleType rdfs:subClassOf* cacontology-partnerships:PartnerRole .
}
GROUP BY $this
}
FILTER (?roleTypeCount < 3)
}
""" ] ;
sh:targetClass cacontology-partnerships:MultiStakeholderInitiative .