sfizz/lv2/lv2/time/time.ttl
2020-01-19 07:41:43 +01:00

143 lines
4 KiB
Turtle

@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix time: <http://lv2plug.in/ns/ext/time#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://lv2plug.in/ns/ext/time>
a owl:Ontology ;
rdfs:seeAlso <time.h> ,
<lv2-time.doap.ttl> ;
lv2:documentation """
<p>This is a vocabulary for precisely describing a position in time and the
passage of time itself, in both real and musical terms.</p>
<p>In addition to real time (e.g. seconds), two units of time are used:
<q>frames</q> and <q>beats</q>. A frame is a numbered quantum of time. Frame
time is related to real-time by the <q>frame rate</q> or <q>sample rate</q>,
time:framesPerSecond. A beat is a single pulse of musical time. Beat time is
related to real-time by the <q>tempo</q>, time:beatsPerMinute.</p>
<p>Musical time additionally has a <q>meter</q> which describes passage of time
in terms of musical <q>bars</q>. A bar is a higher level grouping of beats.
The meter describes how many beats are in one bar.</p>
""" .
time:Time
a rdfs:Class ;
rdfs:subClassOf time:Position ;
rdfs:label "Time" ;
rdfs:comment "A point in time in some unit/dimension." .
time:Position
a rdfs:Class ;
rdfs:label "Position" ;
lv2:documentation """
<p>A point in time and/or the speed at which time is passing. A position is
both a point and a speed, which precisely defines a time within a timeline.</p>
""" .
time:Rate
a rdfs:Class ;
rdfs:subClassOf time:Position ;
rdfs:label "Rate" ;
lv2:documentation """
<p>The rate of passage of time in terms of one unit with respect to
another.</p> """ .
time:position
a rdf:Property ,
owl:ObjectProperty ,
owl:FunctionalProperty ;
rdfs:range time:Position ;
rdfs:label "position" .
time:barBeat
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:float ;
rdfs:label "beat within bar" ;
rdfs:comment "The beat number within the bar, from 0 to beatsPerBar." .
time:bar
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:long ;
rdfs:label "bar" .
time:beat
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:double ;
rdfs:label "beat" ;
rdfs:comment """
The global running beat number. This is not the beat within a bar like barBeat,
but relative to the same origin as time:bar and monotonically increases unless
the transport is repositioned.
""" .
time:beatUnit
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:nonNegativeInteger ;
lv2:documentation """
<p>Beat unit, the note value that counts as one beat. This is the bottom number
in a time signature: 2 for half note, 4 for quarter note, and so on.</p>
""" .
time:beatsPerBar
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "beats per bar" .
time:beatsPerMinute
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "beats per minute" ;
rdfs:comment "Tempo in beats per minute." .
time:frame
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:long ;
rdfs:label "frame" .
time:framesPerSecond
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "frames per second" ;
rdfs:comment "Frame rate in frames per second." .
time:speed
a rdf:Property ,
owl:DatatypeProperty ,
owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "speed" ;
lv2:documentation """
<p>The rate of the progress of time as a fraction of normal speed. For
example, a rate of 0.0 is stopped, 1.0 is rolling at normal speed, 0.5 is
rolling at half speed, -1.0 is reverse, and so on.
</p>
""" .