default1:DateTimeRangeShape leaf node


URI

https://ontology.solveit-df.org/solveit/observable/shapes/DateTimeRangeShape

Label

Date Time Range Shape

Description

Validates DateTimeRange instances have exactly one start and one end boundary.

Targets (1)

Node Constraints

sh:xone ( sh:property [sh:datatype xsd:dateTime, sh:maxCount 1, sh:minCount 1, sh:path solveit-observable:startTimeInclusive] xor sh:property [sh:datatype xsd:dateTime, sh:maxCount 1, sh:minCount 1, sh:path solveit-observable:startTimeExclusive] )
sh:xone ( sh:property [sh:datatype xsd:dateTime, sh:maxCount 1, sh:minCount 1, sh:path solveit-observable:endTimeInclusive] xor sh:property [sh:datatype xsd:dateTime, sh:maxCount 1, sh:minCount 1, sh:path solveit-observable:endTimeExclusive] )

Implementation

@prefix default1: <https://ontology.solveit-df.org/solveit/observable/shapes/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix solveit-observable: <https://ontology.solveit-df.org/solveit/observable/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

default1:DateTimeRangeShape a sh:NodeShape ;
    rdfs:label "Date Time Range Shape"@en ;
    rdfs:comment "Validates DateTimeRange instances have exactly one start and one end boundary."@en ;
    sh:targetClass solveit-observable:DateTimeRange ;
    sh:xone ( [ sh:property [ sh:datatype xsd:dateTime ;
                        sh:maxCount 1 ;
                        sh:minCount 1 ;
                        sh:path solveit-observable:startTimeInclusive ] ] [ sh:property [ sh:datatype xsd:dateTime ;
                        sh:maxCount 1 ;
                        sh:minCount 1 ;
                        sh:path solveit-observable:startTimeExclusive ] ] ),
        ( [ sh:property [ sh:datatype xsd:dateTime ;
                        sh:maxCount 1 ;
                        sh:minCount 1 ;
                        sh:path solveit-observable:endTimeInclusive ] ] [ sh:property [ sh:datatype xsd:dateTime ;
                        sh:maxCount 1 ;
                        sh:minCount 1 ;
                        sh:path solveit-observable:endTimeExclusive ] ] ) .