https://cacontology.projectvic.org/partnerships/shapes#PartnershipParticipationShape
Validates gUFO participation constraints for partnerships.
Instances of cacontology-partnerships:PublicPrivatePartnership 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:PartnershipParticipationShape a sh:NodeShape ;
rdfs:label "Partnership Participation Shape"@en ;
rdfs:comment "Validates gUFO participation constraints for partnerships."@en ;
sh:sparql [ sh:message "Partnership must have at least 2 participating organizations (gUFO participation constraint)."@en ;
sh:select """
SELECT $this
WHERE {
$this rdf:type cacontology-partnerships:PublicPrivatePartnership .
{
SELECT $this (COUNT(DISTINCT ?partner) AS ?partnerCount)
WHERE {
$this cacontology-partnerships:includesPartner ?partner .
}
GROUP BY $this
}
FILTER (?partnerCount < 2)
}
""" ] ;
sh:targetClass cacontology-partnerships:PublicPrivatePartnership .