Ontology Version: 2.2.0

cacontology-partnerships-shapes:PartnershipDataQualityShape leaf node


URI

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

Label

Partnership Data Quality Shape

Description

Enhanced data quality validation for partnerships with gUFO quality consistency rules.

Shape Properties

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

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#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
cacontology-partnerships-shapes:PartnershipDataQualityShape a sh:NodeShape ;
    rdfs:label "Partnership Data Quality Shape"@en ;
    rdfs:comment "Enhanced data quality validation for partnerships with gUFO quality consistency rules."@en ;
    sh:property [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:maxLength 200 ;
            sh:message "Partnership label should be between 5 and 200 characters when provided."@en ;
            sh:minCount 0 ;
            sh:minLength 5 ;
            sh:path rdfs:label ],
        [ sh:datatype xsd:string ;
            sh:maxCount 1 ;
            sh:maxLength 1000 ;
            sh:message "Partnership comment should be between 10 and 1000 characters when provided."@en ;
            sh:minCount 0 ;
            sh:minLength 10 ;
            sh:path rdfs:comment ] ;
    sh:sparql [ sh:message "Partnership effectiveness and success rate should be consistent (gUFO quality consistency)."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this cacontology-partnerships:hasPartnershipEffectiveness ?effectiveness ;
                      cacontology-partnerships:hasSuccessRate ?rate .
                {
                    FILTER (?effectiveness = "highly_effective" && ?rate < 0.7)
                } UNION {
                    FILTER (?effectiveness = "effective" && (?rate < 0.5 || ?rate > 0.8))
                } UNION {
                    FILTER (?effectiveness = "moderate" && (?rate < 0.3 || ?rate > 0.6))
                } UNION {
                    FILTER (?effectiveness = "limited" && ?rate > 0.4)
                } UNION {
                    FILTER (?effectiveness = "ineffective" && ?rate > 0.2)
                }
            }
        """ ],
        [ sh:message "Trust level and collaboration intensity should be correlated (gUFO quality consistency)."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this cacontology-partnerships:hasTrustLevel ?trust ;
                      cacontology-partnerships:hasCollaborationIntensity ?intensity .
                {
                    FILTER (?trust >= 0.8 && ?intensity NOT IN ("intensive", "fully_integrated"))
                } UNION {
                    FILTER (?trust <= 0.3 && ?intensity NOT IN ("low", "moderate"))
                }
            }
        """ ] ;
    sh:targetClass cacontology-partnerships:PublicPrivatePartnership .