default1:TimelineEntryShape leaf node


URI

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

Label

Timeline Entry Shape

Description

Validates that TimelineEntry has exactly one value of the correct type.

Targets (1)

Property Constraints (1)

Focus nodes of this shape (solveit-observable:TimelineEntry) can have the following properties:

PROPERTY DESCRIPTION MIN MAX VALUE TYPE OTHER CONSTRAINTS
solveit-observable:timelineEntryValue The temporal value of this timeline entry - an absolute timestamp (DateTimeStamp), a time interval (DateTimeRange), or relative ordering (ImplicitTimingInformation).
sh:message timelineEntryValue must be exactly one DateTimeStamp, DateTimeRange, or ImplicitTimingInformation
1 1
sh:or ( solveit-observable:DateTimeStamp | solveit-observable:DateTimeRange | solveit-observable:ImplicitTimingInformation )

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:TimelineEntryShape a sh:NodeShape ;
    rdfs:label "Timeline Entry Shape"@en ;
    rdfs:comment "Validates that TimelineEntry has exactly one value of the correct type."@en ;
    sh:property [ sh:maxCount 1 ;
            sh:message "timelineEntryValue must be exactly one DateTimeStamp, DateTimeRange, or ImplicitTimingInformation"@en ;
            sh:minCount 1 ;
            sh:or ( [ sh:class solveit-observable:DateTimeStamp ] [ sh:class solveit-observable:DateTimeRange ] [ sh:class solveit-observable:ImplicitTimingInformation ] ) ;
            sh:path solveit-observable:timelineEntryValue ] ;
    sh:targetClass solveit-observable:TimelineEntry .