https://cacontology.projectvic.org/partnerships/shapes#PartnershipConsistencyShape
Validates consistency between partnership characteristics and participating organizations.
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#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-partnerships-shapes:PartnershipConsistencyShape a sh:NodeShape ;
rdfs:label "Partnership Consistency Shape"@en ;
rdfs:comment "Validates consistency between partnership characteristics and participating organizations."@en ;
sh:sparql [ sh:message "Partnership must include at least the minimum number of partners specified in partnerCount."@en ;
sh:prefixes [ sh:declare [ sh:namespace "https://cacontology.projectvic.org/partnerships#"^^xsd:anyURI ;
sh:prefix "cacontology-partnerships" ] ] ;
sh:select """
SELECT $this
WHERE {
$this cacontology-partnerships:partnerCount ?count .
{
SELECT $this (COUNT(?partner) AS ?actualCount)
WHERE {
$this cacontology-partnerships:includesPartner ?partner .
}
GROUP BY $this
}
FILTER (?actualCount < ?count)
}
""" ] ;
sh:targetClass cacontology-partnerships:PublicPrivatePartnership .