Ontology Version: 3.0.0

cacontology-us-ncmec:CooperationLevelValidationShape leaf node


URI

https://cacontology.projectvic.org/us/ncmec#CooperationLevelValidationShape

Label

Cooperation Level Validation Shape

Description

Validates cooperation level consistency with data provided.

Shape Properties

Instances of cacontology-us-ncmec:PlatformCooperation can have the following properties:

PROPERTY

MIN COUNT

MAX COUNT

TYPE

cacontology-us-ncmec:PlatformCooperation
cacontology-us-ncmec:cooperationLevel 0 1 xsd:string
cacontology-us-ncmec:dataProvided 0 5 xsd:string
cacontology-us-ncmec:involvesPlatform 1 1 uco-observable:DigitalService
cacontology-us-ncmec:platformResponseTime 0 1 xsd:decimal

Implementation

@prefix cacontology-us-ncmec: <https://cacontology.projectvic.org/us/ncmec#> .
@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-us-ncmec:CooperationLevelValidationShape a sh:NodeShape ;
    rdfs:label "Cooperation Level Validation Shape"@en ;
    rdfs:comment "Validates cooperation level consistency with data provided."@en ;
    sh:sparql [ sh:message "Full cooperation should provide comprehensive data."@en ;
            sh:prefixes [ sh:declare [ sh:namespace "https://cacontology.projectvic.org/us/ncmec#"^^xsd:anyURI ;
                            sh:prefix "icacus" ] ] ;
            sh:select """
            SELECT $this WHERE {
                $this cacontology-us-ncmec:cooperationLevel "full" .
                FILTER NOT EXISTS {
                    $this cacontology-us-ncmec:dataProvided ?data1 .
                    $this cacontology-us-ncmec:dataProvided ?data2 .
                    FILTER (?data1 != ?data2)
                }
            }
        """ ] ;
    sh:targetClass cacontology-us-ncmec:PlatformCooperation .