@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix : <http://purl.org/NET/c4dm/timeline.owl#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix time: <http://www.w3.org/2006/time#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix daml: <http://www.daml.org/2001/03/daml+oil#> .
@prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

<http://purl.org/NET/c4dm/timeline.owl> a owl:Ontology ;
	rdfs:label "The Timeline ontology" ;
	rdfs:comment """
    	Extends owl-time ontology (http://www.w3.org/2006/time) with  
	support for several timelines, acting as a backbone to adress 
	time interval/instants. 

	Mainly designed with a multimedia use-case in mind.

	Copyright (c) Yves Raimond, Samer Abdallah, Centre for Digital Music, Queen Mary, University of London
	""" ;
	foaf:maker <http://moustaki.org/foaf.rdf#moustaki> ;
	owl:imports <http://www.w3.org/2006/time-entry> , <http://www.w3.org/2006/time> .

<http://moustaki.org/foaf.rdf#moustaki> a foaf:Person .

foaf:Person a owl:Class .

dc:description a owl:DatatypeProperty .

dc:title a owl:DatatypeProperty .

foaf:maker a owl:ObjectProperty .

<http://purl.org/NET/c4dm/timeline.owl> a owl:Thing .

vs:term_status a owl:AnnotationProperty .

:TimeLine a owl:Class ;
	vs:term_status "stable" ;
	rdfs:label "timeline" ;
	rdfs:comment """Represents a linear and coherent piece of time -- can be either abstract (such as the one behind a score) or concrete (such as the universal time line).
Two timelines can be mapped using timeline maps.""" .

:Instant a owl:Class ;
	rdfs:label "instant" ;
	vs:term_status "stable" ;
	rdfs:comment "An instant (same as in OWL-Time)" ;
	owl:equivalentClass time:Instant .

:Interval a owl:Class ;
	rdfs:label "interval" ;
	vs:term_status "stable" ;
	rdfs:comment "An interval (same as in OWL-Time). Allen's relationships are defined in OWL-Time." ;
	owl:equivalentClass time:ProperInterval .

:timeline a owl:FunctionalProperty , owl:ObjectProperty ;
	rdfs:label "on timeline" ;
	vs:term_status "stable" ;
	rdfs:comment """
	Relates an interval or an instant to the timeline on which it is defined.

	The 29th of August, 2007 would be linked through this property to the universal timeline, whereas
	\"from 2s to 5s on this particular signal\" would be defined on the signal' timeline.

    """ ;
	rdfs:range :TimeLine .

_:node182kgllr3x125 a owl:Class .

_:node182kgllr3x126 rdf:first :Instant ;
	rdf:rest _:node182kgllr3x127 .

_:node182kgllr3x127 rdf:first :Interval ;
	rdf:rest rdf:nil .

_:node182kgllr3x125 owl:unionOf _:node182kgllr3x126 .

:timeline rdfs:domain _:node182kgllr3x125 .

:onTimeLine owl:equivalentProperty :timeline ;
	a owl:ObjectProperty .

:at a owl:FunctionalProperty ;
	rdfs:label "at" ;
	vs:term_status "stable" ;
	rdfs:comment "refers to a point or an interval on the time line, through an explicit datatype" .

_:node182kgllr3x128 a owl:Class .

_:node182kgllr3x129 rdf:first :Interval ;
	rdf:rest _:node182kgllr3x130 .

_:node182kgllr3x130 rdf:first :Instant ;
	rdf:rest rdf:nil .

_:node182kgllr3x128 owl:unionOf _:node182kgllr3x129 .

:at rdfs:domain _:node182kgllr3x128 ;
	a owl:DatatypeProperty .

:duration rdfs:label "duration" ;
	rdfs:comment "the duration of a time interval" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:domain :Interval .

:end rdfs:label "ends at" ;
	rdfs:comment "refers to the end of a time interval, through an explicit datatype. time:hasEnd can be used as well, if you want to associate the end of the interval to an explicit time point resource" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:domain :Interval .

:endsAt owl:equivalentProperty :end ;
	a owl:DatatypeProperty .

:start rdfs:label "begins at" ;
	rdfs:comment "refers to the beginning of a time interval, through an explicit datatype. time:hasBeginning can be used as well, if you want to associate the beginning of the interval to an explicit time point resource" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:domain :Interval .

:beginsAt owl:equivalentProperty :start ;
	a owl:DatatypeProperty .

:meets owl:equivalentProperty time:intervalMeets ;
	a owl:ObjectProperty .

:equals owl:equivalentProperty time:intervalEquals ;
	a owl:ObjectProperty .

:before owl:equivalentProperty time:intervalBefore ;
	a owl:ObjectProperty .

:overlaps owl:equivalentProperty time:intervalOverlaps ;
	a owl:ObjectProperty .

:starts owl:equivalentProperty time:intervalStarts ;
	a owl:ObjectProperty .

:during owl:equivalentProperty time:intervalDuring ;
	a owl:ObjectProperty .

:finishes owl:equivalentProperty time:intervalFinishes ;
	a owl:ObjectProperty .

:after owl:equivalentProperty time:intervalAfter ;
	a owl:ObjectProperty .

:metBy owl:equivalentProperty time:intervalMetBy ;
	a owl:ObjectProperty .

:overlappedBy owl:equivalentProperty time:intervalOverlappedBy ;
	a owl:ObjectProperty .

:startedBy owl:equivalentProperty time:intervalStartedBy ;
	a owl:ObjectProperty .

:contains owl:equivalentProperty time:intervalContains ;
	a owl:ObjectProperty .

:finishedBy owl:equivalentProperty time:intervalFinishedBy ;
	a owl:ObjectProperty .

:AbstractInterval a owl:Class ;
	rdfs:label "abstract interval" ;
	rdfs:comment """
	An interval defined on an abstract time-line.
    """ ;
	vs:term_status "stable" ;
	rdfs:subClassOf :Interval .

_:node182kgllr3x131 a owl:Restriction ;
	owl:someValuesFrom :AbstractTimeLine ;
	owl:onProperty :timeline .

:AbstractInterval owl:equivalentClass _:node182kgllr3x131 .

:AbstractTimeLine a owl:Class ;
	rdfs:label "abstract timeline" ;
	rdfs:comment """
    	Abstract time lines may be used as a backbone for Score, Works, ... 
	This allows for TimeLine maps to relate works to a given 
	performance (this part was played at this time).""" ;
	vs:term_status "stable" ;
	rdfs:subClassOf :TimeLine .

:UTInstant a owl:Class ;
	rdfs:label "instant on the universal timeline" ;
	rdfs:comment "This concept expresses that an instant defined on the universal timeline must be associated to a dateTime value" ;
	vs:term_status "stable" .

_:node182kgllr3x132 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :atDateTime .

:UTInstant rdfs:subClassOf _:node182kgllr3x132 .

_:node182kgllr3x133 a owl:Class .

_:node182kgllr3x134 a owl:Restriction ;
	owl:hasValue :universaltimeline ;
	owl:onProperty :timeline .

_:node182kgllr3x135 rdf:first _:node182kgllr3x134 ;
	rdf:rest _:node182kgllr3x136 .

_:node182kgllr3x136 rdf:first :Instant ;
	rdf:rest rdf:nil .

_:node182kgllr3x133 owl:intersectionOf _:node182kgllr3x135 .

:UTInstant owl:equivalentClass _:node182kgllr3x133 .

:atDateTime rdfs:label "at date/time" ;
	rdfs:comment "This property links an instant defined on the universal time line to an XSD date/time value" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:range xsd:dateTime ;
	rdfs:subPropertyOf :at .

:universaltimeline dc:title "the universal time line" ;
	dc:description "The timeline one can addresss \"the 1st of July, 2007\"" ;
	vs:term_status "stable" ;
	a :PhysicalTimeLine ;
	rdfs:comment "this is the `universal' time line -- can adress time intervals on it using date/dateTime -- UTC" .

:UniformSamplingMap a owl:Class ;
	rdfs:label "uniform sampling map" ;
	vs:term_status "stable" .

_:node182kgllr3x137 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :sampleRate .

:UniformSamplingMap rdfs:subClassOf _:node182kgllr3x137 .

_:node182kgllr3x138 a owl:Restriction ;
	owl:onProperty :rangeTimeLine ;
	owl:someValuesFrom :DiscreteTimeLine .

:UniformSamplingMap rdfs:subClassOf _:node182kgllr3x138 .

_:node182kgllr3x139 a owl:Restriction ;
	owl:onProperty :domainTimeLine ;
	owl:someValuesFrom :RelativeTimeLine .

:UniformSamplingMap rdfs:subClassOf _:node182kgllr3x139 , :TimeLineMap ;
	rdfs:comment "Describe the relation between a continuous time-line and its sampled equivalent" ;
	owl:disjointWith :UniformWindowingMap , :UniformSamplingWindowingMap .

:sampleRate a owl:FunctionalProperty ;
	rdfs:label "sample rate" ;
	rdfs:comment "associates a sample rate value to a uniform sampling map" ;
	vs:term_status "stable" ;
	rdfs:range xsd:int ;
	a owl:DatatypeProperty .

_:node182kgllr3x140 a owl:Class .

_:node182kgllr3x141 rdf:first :UniformSamplingMap ;
	rdf:rest _:node182kgllr3x142 .

_:node182kgllr3x142 rdf:first :UniformSamplingWindowingMap ;
	rdf:rest rdf:nil .

_:node182kgllr3x140 owl:unionOf _:node182kgllr3x141 .

:sampleRate rdfs:domain _:node182kgllr3x140 .

:rangeTimeLine rdfs:label "range timeline" ;
	rdfs:comment "associates a timeline map to its range timeline" ;
	vs:term_status "stable" ;
	a owl:FunctionalProperty ;
	rdfs:domain :TimeLineMap ;
	a owl:ObjectProperty ;
	rdfs:range :TimeLine .

:DiscreteTimeLine a owl:Class ;
	rdfs:label "discrete time line" ;
	vs:term_status "stable" ;
	rdfs:subClassOf :TimeLine ;
	rdfs:comment "A discrete time line (like the time line backing a digital signal" ;
	owl:disjointWith :ContinuousTimeLine .

:domainTimeLine rdfs:label "domain timeline" ;
	rdfs:comment "associates a timeline map to its domain timeline" ;
	a owl:FunctionalProperty ;
	vs:term_status "stable" ;
	rdfs:range :TimeLine ;
	rdfs:domain :TimeLineMap ;
	a owl:ObjectProperty .

:RelativeTimeLine rdfs:label "relative timeline" ;
	vs:term_status "stable" ;
	a owl:Class ;
	rdfs:subClassOf :ContinuousTimeLine ;
	rdfs:comment "Semi infinite time line...canonical coordinate system --> adressed through xsd:duration since the instant 0." ;
	owl:disjointWith :PhysicalTimeLine .

:TimeLineMap a owl:Class ;
	vs:term_status "stable" ;
	rdfs:label "timeline map" ;
	rdfs:comment "Allows to map two time lines together" .

:UniformWindowingMap a owl:Class ;
	rdfs:label "uniform windowing map" ;
	vs:term_status "stable" .

_:node182kgllr3x143 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :hopSize .

:UniformWindowingMap rdfs:subClassOf _:node182kgllr3x143 .

_:node182kgllr3x144 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :windowLength .

:UniformWindowingMap rdfs:subClassOf _:node182kgllr3x144 , :TimeLineMap .

_:node182kgllr3x145 a owl:Restriction ;
	owl:onProperty :domainTimeLine ;
	owl:someValuesFrom :DiscreteTimeLine .

:UniformWindowingMap rdfs:subClassOf _:node182kgllr3x145 .

_:node182kgllr3x146 a owl:Restriction ;
	owl:someValuesFrom :DiscreteTimeLine ;
	owl:onProperty :rangeTimeLine .

:UniformWindowingMap rdfs:subClassOf _:node182kgllr3x146 ;
	rdfs:comment "Describes the relation between a discrete time line and its windowed equivalent" ;
	owl:disjointWith :UniformSamplingMap , :UniformSamplingWindowingMap .

:UniformSamplingWindowingMap a owl:Class ;
	rdfs:label "Uniform sampling and windowing map" ;
	rdfs:comment "Describes the relation between a continuous time-line, and a time-line that corresponds to its sampled and windowed equivalent" ;
	vs:term_status "stable" .

_:node182kgllr3x147 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :hopSize .

:UniformSamplingWindowingMap rdfs:subClassOf _:node182kgllr3x147 .

_:node182kgllr3x148 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :windowLength .

:UniformSamplingWindowingMap rdfs:subClassOf _:node182kgllr3x148 .

_:node182kgllr3x149 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :sampleRate .

:UniformSamplingWindowingMap rdfs:subClassOf _:node182kgllr3x149 , :TimeLineMap .

_:node182kgllr3x150 a owl:Restriction ;
	owl:onProperty :domainTimeLine ;
	owl:someValuesFrom :ContinuousTimeLine .

:UniformSamplingWindowingMap rdfs:subClassOf _:node182kgllr3x150 .

_:node182kgllr3x151 a owl:Restriction ;
	owl:someValuesFrom :DiscreteTimeLine ;
	owl:onProperty :rangeTimeLine .

:UniformSamplingWindowingMap rdfs:subClassOf _:node182kgllr3x151 ;
	owl:disjointWith :UniformSamplingMap , :UniformWindowingMap .

:DiscreteInstant a owl:Class ;
	rdfs:label "discrete instant" ;
	rdfs:comment "An instant defined on a discrete timeline" ;
	vs:term_status "stable" .

_:node182kgllr3x152 a owl:Class .

_:node182kgllr3x153 a owl:Restriction ;
	owl:onProperty :timeline ;
	owl:someValuesFrom :DiscreteTimeLine .

_:node182kgllr3x154 rdf:first _:node182kgllr3x153 ;
	rdf:rest _:node182kgllr3x155 .

_:node182kgllr3x155 rdf:first :Instant ;
	rdf:rest rdf:nil .

_:node182kgllr3x152 owl:intersectionOf _:node182kgllr3x154 .

:DiscreteInstant owl:equivalentClass _:node182kgllr3x152 .

_:node182kgllr3x156 a owl:Restriction ;
	owl:onProperty :atInt ;
	owl:cardinality "1"^^xsd:int .

:DiscreteInstant rdfs:subClassOf _:node182kgllr3x156 .

:atInt a owl:DatatypeProperty ;
	rdfs:label "at (integer)" ;
	rdfs:comment "A subproperty of :at, having as a specific range xsd:int" ;
	vs:term_status "stable" ;
	rdfs:range xsd:int ;
	rdfs:subPropertyOf :at .

:ContinuousTimeLine a owl:Class ;
	rdfs:label "continuous timeline" ;
	rdfs:comment "A continuous timeline, like the universal one, or the one backing an analog signal" ;
	vs:term_status "stable" ;
	rdfs:subClassOf :TimeLine ;
	owl:disjointWith :DiscreteTimeLine .

_:node182kgllr3x157 a owl:Class .

_:node182kgllr3x158 rdf:first :PhysicalTimeLine ;
	rdf:rest _:node182kgllr3x159 .

_:node182kgllr3x159 rdf:first :RelativeTimeLine ;
	rdf:rest rdf:nil .

_:node182kgllr3x157 owl:unionOf _:node182kgllr3x158 .

:ContinuousTimeLine owl:equivalentClass _:node182kgllr3x157 .

:PhysicalTimeLine a owl:Class ;
	rdfs:label "physical timeline" ;
	rdfs:subClassOf :ContinuousTimeLine ;
	rdfs:comment "A \"physical\" time-line (the universal time line (UTC)) is an instance of this class. Other time zones consists in instances of this class as well, with a \"shifting\" time line map relating them to the universal time line map." ;
	vs:term_status "stable" ;
	owl:disjointWith :RelativeTimeLine .

:OriginMap a owl:Class ;
	rdfs:label "origin map" ;
	rdfs:comment "A timeline map linking a physical timeline to a relative one (originating at some point on the physical timeline)" ;
	vs:term_status "stable" .

_:node182kgllr3x160 a owl:Restriction ;
	owl:someValuesFrom :RelativeTimeLine ;
	owl:onProperty :rangeTimeLine .

:OriginMap rdfs:subClassOf _:node182kgllr3x160 .

_:node182kgllr3x161 a owl:Restriction ;
	owl:someValuesFrom :PhysicalTimeLine ;
	owl:onProperty :domainTimeLine .

:OriginMap rdfs:subClassOf _:node182kgllr3x161 , :TimeLineMap .

:DiscreteInterval a owl:Class ;
	rdfs:label "discrete interval" ;
	rdfs:comment "An interval defined on a discrete timeline, like the one backing a digital signal" ;
	vs:term_status "stable" .

_:node182kgllr3x162 a owl:Class .

_:node182kgllr3x163 a owl:Class .

_:node182kgllr3x164 a owl:Restriction ;
	owl:onProperty time:hasBeginning ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x165 rdf:first _:node182kgllr3x164 ;
	rdf:rest _:node182kgllr3x166 .

_:node182kgllr3x167 a owl:Restriction ;
	owl:onProperty time:hasEnd ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x166 rdf:first _:node182kgllr3x167 ;
	rdf:rest rdf:nil .

_:node182kgllr3x163 owl:intersectionOf _:node182kgllr3x165 .

_:node182kgllr3x168 rdf:first _:node182kgllr3x163 ;
	rdf:rest _:node182kgllr3x169 .

_:node182kgllr3x170 a owl:Class .

_:node182kgllr3x171 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :beginsAtInt .

_:node182kgllr3x172 rdf:first _:node182kgllr3x171 ;
	rdf:rest _:node182kgllr3x173 .

_:node182kgllr3x174 a owl:Restriction ;
	owl:onProperty :endsAtInt ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x173 rdf:first _:node182kgllr3x174 ;
	rdf:rest rdf:nil .

_:node182kgllr3x170 owl:intersectionOf _:node182kgllr3x172 .

_:node182kgllr3x169 rdf:first _:node182kgllr3x170 ;
	rdf:rest _:node182kgllr3x175 .

_:node182kgllr3x176 a owl:Class .

_:node182kgllr3x177 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :beginsAtInt .

_:node182kgllr3x178 rdf:first _:node182kgllr3x177 ;
	rdf:rest _:node182kgllr3x179 .

_:node182kgllr3x180 a owl:Restriction ;
	owl:onProperty :durationInt ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x179 rdf:first _:node182kgllr3x180 ;
	rdf:rest rdf:nil .

_:node182kgllr3x176 owl:intersectionOf _:node182kgllr3x178 .

_:node182kgllr3x175 rdf:first _:node182kgllr3x176 ;
	rdf:rest rdf:nil .

_:node182kgllr3x162 owl:unionOf _:node182kgllr3x168 .

:DiscreteInterval rdfs:subClassOf _:node182kgllr3x162 .

_:node182kgllr3x181 a owl:Class .

_:node182kgllr3x182 a owl:Restriction ;
	owl:someValuesFrom :DiscreteTimeLine ;
	owl:onProperty :timeline .

_:node182kgllr3x183 rdf:first _:node182kgllr3x182 ;
	rdf:rest _:node182kgllr3x184 .

_:node182kgllr3x184 rdf:first :Interval ;
	rdf:rest rdf:nil .

_:node182kgllr3x181 owl:intersectionOf _:node182kgllr3x183 .

:DiscreteInterval owl:equivalentClass _:node182kgllr3x181 .

:beginsAtInt a owl:DatatypeProperty ;
	rdfs:label "begins at (integer)" ;
	rdfs:comment "A subproperty of :beginsAt, having xsd:int as a range" ;
	vs:term_status "stable" ;
	rdfs:range xsd:int ;
	rdfs:subPropertyOf :start .

:endsAtInt a owl:DatatypeProperty ;
	rdfs:label "ends at (integer)" ;
	rdfs:comment "A subproperty of :endsAt, having xsd:int as a range" ;
	vs:term_status "stable" ;
	rdfs:subPropertyOf :end ;
	rdfs:range xsd:int .

:durationInt rdfs:label "duration (integer)" ;
	rdfs:comment "A subproperty of :duration, having xsd:int as a range" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:range xsd:int ;
	rdfs:subPropertyOf :duration .

:RelativeInterval a owl:Class ;
	rdfs:label "relative interval" ;
	rdfs:comment "an interval defined on a relative timeline" ;
	vs:term_status "stable" .

_:node182kgllr3x185 a owl:Class .

_:node182kgllr3x186 a owl:Class .

_:node182kgllr3x187 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty time:hasBeginning .

_:node182kgllr3x188 rdf:first _:node182kgllr3x187 ;
	rdf:rest _:node182kgllr3x189 .

_:node182kgllr3x190 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty time:hasEnd .

_:node182kgllr3x189 rdf:first _:node182kgllr3x190 ;
	rdf:rest rdf:nil .

_:node182kgllr3x186 owl:intersectionOf _:node182kgllr3x188 .

_:node182kgllr3x191 rdf:first _:node182kgllr3x186 ;
	rdf:rest _:node182kgllr3x192 .

_:node182kgllr3x193 a owl:Class .

_:node182kgllr3x194 a owl:Restriction ;
	owl:onProperty :beginsAtDuration ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x195 rdf:first _:node182kgllr3x194 ;
	rdf:rest _:node182kgllr3x196 .

_:node182kgllr3x197 a owl:Restriction ;
	owl:onProperty :durationXSD ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x196 rdf:first _:node182kgllr3x197 ;
	rdf:rest rdf:nil .

_:node182kgllr3x193 owl:intersectionOf _:node182kgllr3x195 .

_:node182kgllr3x192 rdf:first _:node182kgllr3x193 ;
	rdf:rest _:node182kgllr3x198 .

_:node182kgllr3x199 a owl:Class .

_:node182kgllr3x200 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :beginsAtDuration .

_:node182kgllr3x201 rdf:first _:node182kgllr3x200 ;
	rdf:rest _:node182kgllr3x202 .

_:node182kgllr3x203 a owl:Restriction ;
	owl:onProperty :endsAtDuration ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x202 rdf:first _:node182kgllr3x203 ;
	rdf:rest rdf:nil .

_:node182kgllr3x199 owl:intersectionOf _:node182kgllr3x201 .

_:node182kgllr3x198 rdf:first _:node182kgllr3x199 ;
	rdf:rest rdf:nil .

_:node182kgllr3x185 owl:unionOf _:node182kgllr3x191 .

:RelativeInterval rdfs:subClassOf _:node182kgllr3x185 .

_:node182kgllr3x204 a owl:Class .

_:node182kgllr3x205 a owl:Restriction ;
	owl:someValuesFrom :RelativeTimeLine ;
	owl:onProperty :timeline .

_:node182kgllr3x206 rdf:first _:node182kgllr3x205 ;
	rdf:rest _:node182kgllr3x207 .

_:node182kgllr3x207 rdf:first :Interval ;
	rdf:rest rdf:nil .

_:node182kgllr3x204 owl:intersectionOf _:node182kgllr3x206 .

:RelativeInterval owl:equivalentClass _:node182kgllr3x204 .

:beginsAtDuration rdfs:label "begins at (xsd:duration)" ;
	a owl:DatatypeProperty ;
	rdfs:comment "A property enabling to adress a start time point P of an interval [P,E] through the duration of the interval [0,P] on a continuous timeline" ;
	vs:term_status "stable" ;
	rdfs:subPropertyOf :start ;
	rdfs:range xsd:duration .

:durationXSD rdfs:label "duration (xsd:duration)" ;
	rdfs:comment "A subproperty of :duration, having xsd:duration as a range" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:range xsd:duration ;
	rdfs:subPropertyOf :duration .

:endsAtDuration rdfs:label "ends at (xsd:duration)" ;
	a owl:DatatypeProperty ;
	rdfs:comment "A property enabling to adress an end time point P of an interval [S,P] through the duration of the interval [0,P] on a continuous timeline" ;
	vs:term_status "stable" ;
	rdfs:subPropertyOf :end ;
	rdfs:range xsd:duration .

:ShiftMap rdfs:comment "a map just shifting one timeline to another" ;
	rdfs:label "shift map" ;
	vs:term_status "stable" ;
	a owl:Class ;
	rdfs:subClassOf :TimeLineMap .

:UTInterval rdfs:label "universal timeline interval" ;
	rdfs:comment "an interval defined on the universal time line" ;
	vs:term_status "stable" ;
	a owl:Class .

_:node182kgllr3x208 a owl:Class .

_:node182kgllr3x209 a owl:Restriction ;
	owl:onProperty :timeline ;
	owl:hasValue :universaltimeline .

_:node182kgllr3x210 rdf:first _:node182kgllr3x209 ;
	rdf:rest _:node182kgllr3x211 .

_:node182kgllr3x211 rdf:first :Interval ;
	rdf:rest rdf:nil .

_:node182kgllr3x208 owl:intersectionOf _:node182kgllr3x210 .

:UTInterval owl:equivalentClass _:node182kgllr3x208 .

_:node182kgllr3x212 a owl:Class .

_:node182kgllr3x213 a owl:Restriction ;
	owl:onProperty :atYear ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x214 rdf:first _:node182kgllr3x213 ;
	rdf:rest _:node182kgllr3x215 .

_:node182kgllr3x216 a owl:Restriction ;
	owl:onProperty :atYearMonth ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x215 rdf:first _:node182kgllr3x216 ;
	rdf:rest _:node182kgllr3x217 .

_:node182kgllr3x218 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :atDate .

_:node182kgllr3x217 rdf:first _:node182kgllr3x218 ;
	rdf:rest _:node182kgllr3x219 .

_:node182kgllr3x220 a owl:Class .

_:node182kgllr3x221 a owl:Restriction ;
	owl:onProperty :beginsAtDateTime ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x222 rdf:first _:node182kgllr3x221 ;
	rdf:rest _:node182kgllr3x223 .

_:node182kgllr3x224 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :durationXSD .

_:node182kgllr3x223 rdf:first _:node182kgllr3x224 ;
	rdf:rest rdf:nil .

_:node182kgllr3x220 owl:intersectionOf _:node182kgllr3x222 .

_:node182kgllr3x219 rdf:first _:node182kgllr3x220 ;
	rdf:rest _:node182kgllr3x225 .

_:node182kgllr3x226 a owl:Class .

_:node182kgllr3x227 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty time:hasBeginning .

_:node182kgllr3x228 rdf:first _:node182kgllr3x227 ;
	rdf:rest _:node182kgllr3x229 .

_:node182kgllr3x230 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty time:hasEnd .

_:node182kgllr3x229 rdf:first _:node182kgllr3x230 ;
	rdf:rest rdf:nil .

_:node182kgllr3x226 owl:intersectionOf _:node182kgllr3x228 .

_:node182kgllr3x225 rdf:first _:node182kgllr3x226 ;
	rdf:rest _:node182kgllr3x231 .

_:node182kgllr3x232 a owl:Class .

_:node182kgllr3x233 a owl:Restriction ;
	owl:onProperty :beginsAtDateTime ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x234 rdf:first _:node182kgllr3x233 ;
	rdf:rest _:node182kgllr3x235 .

_:node182kgllr3x236 a owl:Restriction ;
	owl:onProperty :endsAtDateTime ;
	owl:cardinality "1"^^xsd:int .

_:node182kgllr3x235 rdf:first _:node182kgllr3x236 ;
	rdf:rest rdf:nil .

_:node182kgllr3x232 owl:intersectionOf _:node182kgllr3x234 .

_:node182kgllr3x231 rdf:first _:node182kgllr3x232 ;
	rdf:rest rdf:nil .

_:node182kgllr3x212 owl:unionOf _:node182kgllr3x214 .

:UTInterval rdfs:subClassOf _:node182kgllr3x212 .

:atYear rdfs:label "at (year)" ;
	rdfs:comment "A subproperty of :at, allowing to address a year (beginning of it for an instant, all of it for an interval)" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:subPropertyOf :at ;
	rdfs:range xsd:gYear .

:atYearMonth rdfs:label "at (year/month)" ;
	rdfs:comment "A subproperty of :at, allowing to address a year/month (beginning of it for an instant, all of it for an interval)" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:subPropertyOf :at ;
	rdfs:range xsd:gYearMonth .

:atDate rdfs:label "at (date)" ;
	rdfs:comment "A subproperty of :at, allowing to address a date (beginning of it for an instant, all of it for an interval)" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:subPropertyOf :at ;
	rdfs:range xsd:date .

:beginsAtDateTime rdfs:label "begins at (date/time)" ;
	rdfs:comment "A subproperty of :beginsAt, allowing to address the beginning of an interval as a date/time" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:subPropertyOf :start ;
	rdfs:range xsd:dateTime .

:endsAtDateTime rdfs:label "ends at (date/time)" ;
	rdfs:comment "A subproperty of :endsAt, allowing to address the end of an interval as a date/time" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:range xsd:dateTime ;
	rdfs:subPropertyOf :end .

:hopSize rdfs:label "hop size" ;
	rdfs:comment "hop size, associated to a uniform windowing map" ;
	vs:term_status "stable" ;
	a owl:FunctionalProperty , owl:DatatypeProperty ;
	rdfs:range xsd:int .

_:node182kgllr3x237 a owl:Class .

_:node182kgllr3x238 rdf:first :UniformWindowingMap ;
	rdf:rest _:node182kgllr3x239 .

_:node182kgllr3x239 rdf:first :UniformSamplingWindowingMap ;
	rdf:rest rdf:nil .

_:node182kgllr3x237 owl:unionOf _:node182kgllr3x238 .

:hopSize rdfs:domain _:node182kgllr3x237 .

:windowLength rdfs:label "window length" ;
	rdfs:comment "window length, associated to a uniform windowing map" ;
	vs:term_status "stable" ;
	a owl:FunctionalProperty , owl:DatatypeProperty ;
	rdfs:range xsd:int .

_:node182kgllr3x240 a owl:Class .

_:node182kgllr3x241 rdf:first :UniformWindowingMap ;
	rdf:rest _:node182kgllr3x242 .

_:node182kgllr3x242 rdf:first :UniformSamplingWindowingMap ;
	rdf:rest rdf:nil .

_:node182kgllr3x240 owl:unionOf _:node182kgllr3x241 .

:windowLength rdfs:domain _:node182kgllr3x240 .

:RelativeInstant rdfs:label "relative instant" ;
	rdfs:comment "An instant defined on a relative timeline" ;
	vs:term_status "stable" ;
	a owl:Class .

_:node182kgllr3x243 a owl:Restriction ;
	owl:cardinality "1"^^xsd:int ;
	owl:onProperty :atDuration .

:RelativeInstant rdfs:subClassOf _:node182kgllr3x243 .

_:node182kgllr3x244 a owl:Class .

_:node182kgllr3x245 a owl:Restriction ;
	owl:someValuesFrom :RelativeTimeLine ;
	owl:onProperty :timeline .

_:node182kgllr3x246 rdf:first _:node182kgllr3x245 ;
	rdf:rest _:node182kgllr3x247 .

_:node182kgllr3x247 rdf:first :Instant ;
	rdf:rest rdf:nil .

_:node182kgllr3x244 owl:intersectionOf _:node182kgllr3x246 .

:RelativeInstant owl:equivalentClass _:node182kgllr3x244 .

:atDuration rdfs:label "at (duration)" ;
	a owl:DatatypeProperty ;
	rdfs:range xsd:duration ;
	vs:term_status "stable" ;
	rdfs:subPropertyOf :at ;
	rdfs:comment "A property enabling to adress a time point P through the duration of the interval [0,P] on a continuous timeline" .

:AbstractInstant rdfs:label "abstract instant" ;
	rdfs:comment "An instant defined on an abstract timeline" ;
	vs:term_status "stable" ;
	a owl:Class ;
	rdfs:subClassOf :Instant .

_:node182kgllr3x248 a owl:Restriction ;
	owl:someValuesFrom :AbstractTimeLine ;
	owl:onProperty :timeline .

:AbstractInstant owl:equivalentClass _:node182kgllr3x248 .

:atReal rdfs:label "at (real)" ;
	rdfs:comment "subproperty of :at, having xsd:float as a range" ;
	vs:term_status "stable" ;
	a owl:DatatypeProperty ;
	rdfs:range xsd:float ;
	rdfs:subPropertyOf :at .

:delay rdfs:label "delay" ;
	rdfs:comment "associate a shift map to a particular delay" ;
	vs:term_status "stable" ;
	a owl:FunctionalProperty ;
	rdfs:domain :ShiftMap ;
	a owl:DatatypeProperty .

:origin rdfs:label "origin" ;
	rdfs:comment "associate an origin map to its origin on the domain physical timeline" ;
	vs:term_status "stable" ;
	a owl:FunctionalProperty , owl:DatatypeProperty ;
	rdfs:range xsd:dateTime ;
	rdfs:domain :OriginMap .
