aboutsummaryrefslogtreecommitdiffstats
path: root/lv2/lv2plug.in/ns/ext
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-30 18:12:43 +0000
committerDavid Robillard <d@drobilla.net>2012-03-30 18:12:43 +0000
commitb75c914fc9a2fd99b7082e76e968f214b184c993 (patch)
treea5fa63fbb71c4fcc10a49b2f5091710fe7496de4 /lv2/lv2plug.in/ns/ext
parentaae93ebd722e93200a7218debb515c2cad6a8ae2 (diff)
downloadlv2-b75c914fc9a2fd99b7082e76e968f214b184c993.tar.xz
Add missing ui:ui and ui:binary property definitions.
Mark up properties more precisely for validation.
Diffstat (limited to 'lv2/lv2plug.in/ns/ext')
-rw-r--r--lv2/lv2plug.in/ns/ext/atom/atom.ttl17
-rw-r--r--lv2/lv2plug.in/ns/ext/midi/midi.ttl80
-rw-r--r--lv2/lv2plug.in/ns/ext/patch/patch.ttl36
-rw-r--r--lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl68
-rw-r--r--lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl10
-rw-r--r--lv2/lv2plug.in/ns/ext/time/time.ttl49
6 files changed, 190 insertions, 70 deletions
diff --git a/lv2/lv2plug.in/ns/ext/atom/atom.ttl b/lv2/lv2plug.in/ns/ext/atom/atom.ttl
index bda776d..1a27389 100644
--- a/lv2/lv2plug.in/ns/ext/atom/atom.ttl
+++ b/lv2/lv2plug.in/ns/ext/atom/atom.ttl
@@ -71,7 +71,8 @@ extension.</p>
atom:cType
a rdf:Property ,
- owl:DatatypeProperty ;
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:label "C type" ;
rdfs:domain rdfs:Class ;
rdfs:range xsd:string ;
@@ -370,7 +371,9 @@ atom:TimeUnit
lv2:documentation "<p>A unit for atom:Event time stamps.</p>" .
atom:frameTime
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:decimal ;
rdfs:label "Frame time" ;
lv2:documentation """
@@ -378,7 +381,9 @@ atom:frameTime
""" .
atom:beatTime
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:decimal ;
rdfs:label "Beat time" ;
lv2:documentation """
@@ -439,7 +444,8 @@ However, to be robust, hosts SHOULD initialise output ports to a safe sentinel
""" .
atom:bufferType
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:domain atom:AtomPort ;
rdfs:label "Buffer type" ;
lv2:documentation """
@@ -463,7 +469,8 @@ that, use atom:supports.</p>
""" .
atom:childType
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:label "Child type" ;
rdfs:comment "The type of a container's children." .
diff --git a/lv2/lv2plug.in/ns/ext/midi/midi.ttl b/lv2/lv2plug.in/ns/ext/midi/midi.ttl
index 53f0ea1..02864f4 100644
--- a/lv2/lv2plug.in/ns/ext/midi/midi.ttl
+++ b/lv2/lv2plug.in/ns/ext/midi/midi.ttl
@@ -21,6 +21,7 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
+@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 xsd: <http://www.w3.org/2001/XMLSchema#> .
@@ -112,10 +113,10 @@ midi:Aftertouch
midi:statusMask "A0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:noteNumber ;
+ midi:property midi:noteNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:pressure ;
+ midi:property midi:pressure
] .
midi:Bender
@@ -126,7 +127,7 @@ midi:Bender
midi:chunk [
midi:byteNumber 0 ,
1 ;
- midi:property midi:benderValue ;
+ midi:property midi:benderValue
] .
midi:ChannelPressure
@@ -136,7 +137,7 @@ midi:ChannelPressure
midi:statusMask "D0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:pressure ;
+ midi:property midi:pressure
] .
midi:Chunk
@@ -162,10 +163,10 @@ midi:Controller
midi:statusMask "B0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:controllerNumber ;
+ midi:property midi:controllerNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:controllerValue ;
+ midi:property midi:controllerValue
] .
midi:MidiEvent
@@ -204,10 +205,10 @@ midi:NoteOff
midi:statusMask "80"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:noteNumber ;
+ midi:property midi:noteNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:velocity ;
+ midi:property midi:velocity
] .
midi:NoteOn
@@ -217,10 +218,10 @@ midi:NoteOn
midi:statusMask "90"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:noteNumber ;
+ midi:property midi:noteNumber
] , [
midi:byteNumber 1 ;
- midi:property midi:velocity ;
+ midi:property midi:velocity
] .
midi:ProgramChange
@@ -230,7 +231,7 @@ midi:ProgramChange
midi:statusMask "C0"^^xsd:hexBinary ;
midi:chunk [
midi:byteNumber 0 ;
- midi:property midi:programNumber ;
+ midi:property midi:programNumber
] .
midi:QuarterFrame
@@ -253,7 +254,7 @@ midi:SongPosition
midi:chunk [
midi:byteNumber 0 ,
1 ;
- midi:property midi:songPosition ;
+ midi:property midi:songPosition
] .
midi:SongSelect
@@ -315,12 +316,15 @@ midi:VoiceMessage
midi:statusMask "F0"^^xsd:hexBinary .
midi:benderValue
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:short ;
rdfs:comment "The value of a pitch bender (-8192 to 8192)." .
midi:byteNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ;
rdfs:domain midi:Chunk ;
rdfs:range xsd:unsignedByte ;
rdfs:comment "The 0-based index of a byte which is part of this chunk." .
@@ -329,57 +333,77 @@ midi:chunk
a rdf:Property ;
rdfs:range xsd:byte ,
xsd:hexBinary ;
- rdfs:comment "The exact status byte for a message of this type." .
+ rdfs:comment "A chunk of a MIDI message." .
midi:controllerNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The numberic ID of a controller (0 to 127)." .
midi:controllerValue
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The value of a controller (0 to 127)." .
midi:noteNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
- rdfs:comment "The numeric ID of a controller (0 to 127)." .
+ rdfs:comment "The numeric ID of a note (0 to 127)." .
midi:pressure
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "Key pressure (0 to 127)." .
midi:programNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The numeric ID of a program (0 to 127)." .
midi:property
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain midi:Chunk ;
rdfs:range rdf:Property ;
rdfs:comment "The property this chunk represents." .
midi:songNumber
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The numeric ID of a song (0 to 127)." .
midi:songPosition
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:short ;
rdfs:comment "Song position in MIDI beats (16th notes) (-8192 to 8192)." .
midi:status
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ,
xsd:hexBinary ;
rdfs:comment "The exact status byte for a message of this type." .
midi:statusMask
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ,
xsd:hexBinary ;
rdfs:comment """
@@ -387,6 +411,8 @@ The status byte for a message of this type on channel 1, i.e. a status byte
with the lower nibble set to zero.""" .
midi:velocity
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:range xsd:byte ;
rdfs:comment "The velocity of a note message (0 to 127)." .
diff --git a/lv2/lv2plug.in/ns/ext/patch/patch.ttl b/lv2/lv2plug.in/ns/ext/patch/patch.ttl
index f5eef6c..9e60939 100644
--- a/lv2/lv2plug.in/ns/ext/patch/patch.ttl
+++ b/lv2/lv2plug.in/ns/ext/patch/patch.ttl
@@ -31,7 +31,7 @@
doap:name "LV2 Patch" ;
doap:release [
doap:created "2012-02-08" ;
- doap:revision "0.1" ;
+ doap:revision "0.1"
] ;
doap:shortdesc "Messages for accessing and manipulating properties." ;
lv2:documentation """
@@ -156,7 +156,7 @@ patch:Insert
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] ;
lv2:documentation """
<p>Insert the patch:body at patch:subject. If the subject does not exist, it is
@@ -176,11 +176,11 @@ patch:Move
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] , [
a owl:Restriction ;
owl:cardinality 1 ;
- owl:onProperty patch:destination ;
+ owl:onProperty patch:destination
] ;
lv2:documentation """
<p>Move the patch:subject to patch:destination. After this, patch:destination has
@@ -195,15 +195,15 @@ patch:Patch
[
a owl:Restriction ;
owl:minCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] , [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:add ;
+ owl:onProperty patch:add
] , [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:remove ;
+ owl:onProperty patch:remove
] ;
lv2:documentation """
<p>A method for modifying the properties of an object.</p>
@@ -236,7 +236,7 @@ patch:Put
rdfs:subClassOf [
a owl:Restriction ;
owl:maxCardinality 1 ;
- owl:onProperty patch:subject ;
+ owl:onProperty patch:subject
] ;
lv2:documentation """
<p>Put the patch:body as the patch:subject. If the subject does not already exist,
@@ -268,7 +268,7 @@ patch:Set
[
a owl:Restriction ;
owl:cardinality 1 ;
- owl:onProperty patch:body ;
+ owl:onProperty patch:body
] ;
lv2:documentation """
<p>A method for setting properties of an object to unique values.</p>
@@ -309,12 +309,14 @@ patch is equivalent to:</p>
patch:add
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
patch:body
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message ;
lv2:documentation """
<p>The body of a message.</p>
@@ -325,12 +327,14 @@ part of.</p>
patch:destination
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
patch:request
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Response ;
rdfs:range patch:Request ;
lv2:documentation """
@@ -339,10 +343,12 @@ patch:request
patch:subject
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
patch:remove
a rdf:Property ,
- owl:ObjectProperty ;
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain patch:Message .
diff --git a/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl b/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl
index a827c3f..005f64f 100644
--- a/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl
+++ b/lv2/lv2plug.in/ns/ext/port-groups/port-groups.ttl
@@ -92,8 +92,8 @@ An element of a group, which has a designation and an optional index.
""" .
pg:element
- a rdf:Property ;
- rdfs:domain pg:Group ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:range pg:Element ;
rdfs:label "element" ;
rdfs:comment """
@@ -102,7 +102,8 @@ designation with a possible index).
""" .
pg:sideChainOf
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:label "Side-chain of" ;
rdfs:comment """
Indicates that this port or group should be considered a "side chain" of
@@ -112,7 +113,9 @@ some other group, rather than an independent input itself.
""" .
pg:subGroupOf
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain pg:Group ;
rdfs:range pg:Group ;
rdfs:label "Sub-group of" ;
@@ -125,7 +128,8 @@ symbol.
""" .
pg:source
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ;
rdfs:domain pg:OutputGroup ;
rdfs:range pg:InputGroup ;
rdfs:label "Source" ;
@@ -139,6 +143,7 @@ types, e.g. a mono->stereo plugin.
pg:mainInput
a rdf:Property ,
+ owl:ObjectProperty ,
owl:FunctionalProperty ;
rdfs:domain lv2:Plugin ;
rdfs:range pg:InputGroup ;
@@ -151,6 +156,7 @@ more than one pg:mainInput property.
pg:mainOutput
a rdf:Property ,
+ owl:ObjectProperty ,
owl:FunctionalProperty ;
rdfs:domain lv2:Plugin ;
rdfs:range pg:OutputGroup ;
@@ -161,7 +167,9 @@ output group SHOULD have the main input group as a pg:source.
""" .
pg:group
- a rdf:Property ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
rdfs:range pg:Group ;
rdfs:label "In port group" ;
@@ -426,6 +434,54 @@ pg:SevenPointOneWideGroup
lv2:designation pg:lowFrequencyEffects
] .
+amb:ACN0
+ a lv2:Channel .
+
+amb:ACN1
+ a lv2:Channel .
+
+amb:ACN2
+ a lv2:Channel .
+
+amb:ACN3
+ a lv2:Channel .
+
+amb:ACN4
+ a lv2:Channel .
+
+amb:ACN5
+ a lv2:Channel .
+
+amb:ACN6
+ a lv2:Channel .
+
+amb:ACN7
+ a lv2:Channel .
+
+amb:ACN8
+ a lv2:Channel .
+
+amb:ACN9
+ a lv2:Channel .
+
+amb:ACN10
+ a lv2:Channel .
+
+amb:ACN11
+ a lv2:Channel .
+
+amb:ACN12
+ a lv2:Channel .
+
+amb:ACN13
+ a lv2:Channel .
+
+amb:ACN14
+ a lv2:Channel .
+
+amb:ACN15
+ a lv2:Channel .
+
pg:AmbisonicGroup
a rdfs:Class ;
rdfs:subClassOf pg:Group ;
diff --git a/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl b/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl
index 6b10a4d..72f81a2 100644
--- a/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl
+++ b/lv2/lv2plug.in/ns/ext/resize-port/resize-port.ttl
@@ -16,6 +16,7 @@
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@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 rsz: <http://lv2plug.in/ns/ext/resize-port#> .
@@ -44,7 +45,8 @@ amount of space required for a particular port buffer.</p>
""" .
rsz:asLargeAs
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ;
rdfs:domain lv2:Port ;
rdfs:range lv2:Symbol ;
rdfs:label "as large as" ;
@@ -62,9 +64,11 @@ enough to copy I, or NULL if the port is lv2:connectionOptional.
""" .
rsz:minimumSize
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain lv2:Port ;
- rdfs:range lv2:Symbol ;
+ rdfs:range xsd:nonNegativeInteger ;
rdfs:label "minimum size" ;
rdfs:comment """
Indicates that a port requires a buffer at least this large, in bytes.
diff --git a/lv2/lv2plug.in/ns/ext/time/time.ttl b/lv2/lv2plug.in/ns/ext/time/time.ttl
index 4f21505..db6a3c1 100644
--- a/lv2/lv2plug.in/ns/ext/time/time.ttl
+++ b/lv2/lv2plug.in/ns/ext/time/time.ttl
@@ -13,12 +13,13 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-@prefix time: <http://lv2plug.in/ns/ext/time#> .
@prefix doap: <http://usefulinc.com/ns/doap#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@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>
@@ -50,7 +51,7 @@ The meter describes how many beats are in one bar.</p>
time:Time
a rdfs:Class ;
- rdfs:subClassOf time:Position ;
+ rdfs:subClassOf time:Position ;
rdfs:label "A point in time" ;
rdfs:comment "A point in time in some unit/dimension." .
@@ -63,73 +64,93 @@ 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: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 ;
+ a rdf:Property ,
+ owl:ObjectProperty ,
+ owl:FunctionalProperty ;
rdfs:range time:Position ;
rdfs:label "Position in time" .
time:barBeat
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:float ;
rdfs:label "Beat within this bar" ;
rdfs:comment "The beat number within the bar, from 0 to beatsPerBar." .
time:bar
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:long ;
rdfs:label "Global position in bars" .
time:beat
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:double ;
rdfs:label "Global position in beats" .
time:beatUnit
- a rdf:Property ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
- rdfs:range xsd:double ;
+ 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 ;
+ 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 ;
+ 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 ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Time ;
rdfs:range xsd:long ;
rdfs:label "Global position in frames" .
time:framesPerSecond
- a rdf:Property ;
+ 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 ;
+ a rdf:Property ,
+ owl:DatatypeProperty ,
+ owl:FunctionalProperty ;
rdfs:domain time:Rate ;
rdfs:range xsd:float ;
rdfs:label "Speed" ;