Ontology Version: 2.2.0

cacontology-multi:MultiJurisdictionalCrossReferenceShape leaf node


URI

https://cacontology.projectvic.org/multi-jurisdiction#MultiJurisdictionalCrossReferenceShape

Label

Multi-Jurisdictional Cross Reference Shape

Description

Enhanced cross-reference validation with gUFO constraints for multi-jurisdictional operations. - Validates cross-references between multi-jurisdictional operations and related entities.

Shape Properties

Instances of cacontology-multi:MultiJurisdictionalOperation can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-multi:MultiJurisdictionalOperation
1 1 xsd:string
1 xsd:string
1 xsd:string
1 xsd:string
1 xsd:double
1 xsd:double
cacontology-multi:jurisdictionCount 1 1 xsd:nonNegativeInteger
1 1 xsd:string
cacontology-multi:operationDuration 0 1 xsd:decimal
1 1 xsd:string
0 1 xsd:dateTime
0 1 xsd:dateTime

Implementation

@prefix cacontology-multi: <https://cacontology.projectvic.org/multi-jurisdiction#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
cacontology-multi:MultiJurisdictionalCrossReferenceShape a sh:NodeShape ;
    rdfs:label "Multi-Jurisdictional Cross Reference Shape"@en ;
    rdfs:comment "Enhanced cross-reference validation with gUFO constraints for multi-jurisdictional operations."@en,
        "Validates cross-references between multi-jurisdictional operations and related entities."@en ;
    sh:sparql [ sh:message "Multi-jurisdictional operation must involve at least two jurisdictions."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this a cacontology-multi:MultiJurisdictionalOperation ;
                      cacontology-multi:jurisdictionCount ?count .
                FILTER (?count < 2)
            }
        """ ],
        [ sh:message "Multi-jurisdictional operation must involve at least two jurisdictions (enhanced gUFO validation)."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this a cacontology-multi:MultiJurisdictionalOperation ;
                      cacontology-multi:jurisdictionCount ?count .
                FILTER (?count < 2)
            }
        """ ],
        [ sh:message "gUFO Event typing must be consistent with temporal properties."@en ;
            sh:select """
            SELECT $this
            WHERE {
                $this rdf:type*/rdfs:subClassOf* gufo:Event .
                FILTER NOT EXISTS {
                    { $this gufo:hasBeginPointInXSDDateTimeStamp ?start } UNION
                    { $this uco-core:startTime ?start }
                }
            }
        """ ] ;
    sh:targetClass cacontology-multi:MultiJurisdictionalOperation .