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

393 lines
8.1 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 units: <http://lv2plug.in/ns/extensions/units#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<http://lv2plug.in/ns/extensions/units>
a owl:Ontology ;
owl:imports <http://lv2plug.in/ns/lv2core> ;
rdfs:seeAlso <units.h> ,
<lv2-units.doap.ttl> ;
lv2:documentation """
<p>This vocabulary defines a number of units for use in audio processing.</p>
<p>For example, to say that a gain port's value is in decibels (units:db)</p>
<pre class="turtle-code">
@prefix units: &lt;http://lv2plug.in/ns/extensions/units#&gt; .
@prefix eg: &lt;http://example.org/&gt; .
eg:plugin lv2:port [
a lv2:ControlPort , lv2:InputPort ;
lv2:index 0 ;
lv2:symbol "gain" ;
lv2:name "gain" ;
units:unit units:db
] .
</pre>
<p>Using the same form, plugins may also specify one-off units inline, to give
better display hints to hosts:</p>
<pre class="turtle-code">
eg:plugin lv2:port [
a lv2:ControlPort , lv2:InputPort ;
lv2:index 0 ;
lv2:symbol "frob" ;
lv2:name "frob level" ;
units:unit [
a units:Unit ;
rdfs:label "frobnication" ;
units:symbol "fr" ;
units:render "%f f"
]
] .
</pre>
<p>It is also possible to define conversions between various units, which makes
it possible for hosts to automatically and generically convert from a given
unit to a desired unit. The units defined in this extension include conversion
definitions where it makes sense to do so.</p>
""" .
units:Unit
a rdfs:Class ,
owl:Class ;
rdfs:label "Unit" ;
rdfs:comment "A unit for LV2 port data" .
units:unit
a rdf:Property ,
owl:ObjectProperty ;
rdfs:range units:Unit ;
rdfs:label "unit" ;
rdfs:comment "The unit used by the value of a port or parameter." .
units:render
a rdf:Property ,
owl:DatatypeProperty ;
rdfs:label "unit format string" ;
rdfs:domain units:Unit ;
rdfs:range xsd:string ;
rdfs:comment """A printf format string for rendering a value (eg. "%f dB").""" .
units:symbol
a rdf:Property ,
owl:DatatypeProperty ;
rdfs:label "unit symbol" ;
rdfs:domain units:Unit ;
rdfs:range xsd:string ;
rdfs:comment "The abbreviated symbol for the unit (e.g. dB)." .
units:Conversion
a rdfs:Class ,
owl:Class ;
rdfs:subClassOf [
a owl:Restriction ;
owl:onProperty units:to ;
owl:cardinality 1 ;
rdfs:comment "A conversion MUST have exactly 1 units:to property."
] ;
rdfs:label "Conversion" ;
rdfs:comment "A conversion from one unit to another." .
units:conversion
a rdf:Property ,
owl:ObjectProperty ;
rdfs:domain units:Unit ;
rdfs:range units:Conversion ;
rdfs:label "conversion" ;
rdfs:comment "A conversion from this unit to another." .
units:prefixConversion
a rdf:Property ,
owl:ObjectProperty ;
rdfs:subPropertyOf units:conversion ;
rdfs:domain units:Unit ;
rdfs:range units:Conversion ;
rdfs:label "prefix conversion" ;
rdfs:comment """A conversion from this unit to the same unit but with a different SI prefix (e.g. Hz to kHz).""" .
units:to
a rdf:Property ,
owl:ObjectProperty ;
rdfs:domain units:Conversion ;
rdfs:range units:Unit ;
rdfs:label "conversion target" ;
rdfs:comment "The target unit this conversion converts to." .
units:factor
a rdf:Property ,
owl:DatatypeProperty ;
rdfs:domain units:Conversion ;
rdfs:label "conversion factor" ;
rdfs:comment """The factor to multiply the source value by in order to convert to the target unit.""" .
units:s
a units:Unit ;
units:conversion [
units:factor 0.0166666666 ;
units:to units:min
] ;
rdfs:label "seconds" ;
units:prefixConversion [
units:factor 1000 ;
units:to units:ms
] ;
units:render "%f s" ;
units:symbol "s" .
units:ms
a units:Unit ;
rdfs:label "milliseconds" ;
units:prefixConversion [
units:factor 0.001 ;
units:to units:s
] ;
units:render "%f ms" ;
units:symbol "ms" .
units:min
a units:Unit ;
units:conversion [
units:factor 60.0 ;
units:to units:s
] ;
rdfs:label "minutes" ;
units:render "%f mins" ;
units:symbol "min" .
units:bar
a units:Unit ;
rdfs:label "bars" ;
units:render "%f bars" ;
units:symbol "bars" .
units:beat
a units:Unit ;
rdfs:label "beats" ;
units:render "%f beats" ;
units:symbol "beats" .
units:frame
a units:Unit ;
rdfs:label "audio frames" ;
units:render "%f frames" ;
units:symbol "frames" .
units:m
a units:Unit ;
units:conversion [
units:factor 39.37 ;
units:to units:inch
] ;
rdfs:label "metres" ;
units:prefixConversion [
units:factor 100 ;
units:to units:cm
] , [
units:factor 1000 ;
units:to units:mm
] , [
units:factor 0.001 ;
units:to units:km
] ;
units:render "%f m" ;
units:symbol "m" .
units:cm
a units:Unit ;
units:conversion [
units:factor 0.3937 ;
units:to units:inch
] ;
rdfs:label "centimetres" ;
units:prefixConversion [
units:factor 0.01 ;
units:to units:m
] , [
units:factor 10 ;
units:to units:mm
] , [
units:factor 0.00001 ;
units:to units:km
] ;
units:render "%f cm" ;
units:symbol "cm" .
units:mm
a units:Unit ;
units:conversion [
units:factor 0.03937 ;
units:to units:inch
] ;
rdfs:label "millimetres" ;
units:prefixConversion [
units:factor 0.001 ;
units:to units:m
] , [
units:factor 0.1 ;
units:to units:cm
] , [
units:factor 0.000001 ;
units:to units:km
] ;
units:render "%f mm" ;
units:symbol "mm" .
units:km
a units:Unit ;
units:conversion [
units:factor 0.62138818 ;
units:to units:mile
] ;
rdfs:label "kilometres" ;
units:prefixConversion [
units:factor 1000 ;
units:to units:m
] , [
units:factor 100000 ;
units:to units:cm
] , [
units:factor 1000000 ;
units:to units:mm
] ;
units:render "%f km" ;
units:symbol "km" .
units:inch
a units:Unit ;
units:conversion [
units:factor 2.54 ;
units:to units:cm
] ;
rdfs:label "inches" ;
units:render """%f\"""" ;
units:symbol "in" .
units:mile
a units:Unit ;
units:conversion [
units:factor 1.6093 ;
units:to units:km
] ;
rdfs:label "miles" ;
units:render "%f mi" ;
units:symbol "mi" .
units:db
a units:Unit ;
rdfs:label "decibels" ;
units:render "%f dB" ;
units:symbol "dB" .
units:pc
a units:Unit ;
units:conversion [
units:factor 0.01 ;
units:to units:coef
] ;
rdfs:label "percent" ;
units:render "%f%%" ;
units:symbol "%" .
units:coef
a units:Unit ;
units:conversion [
units:factor 100 ;
units:to units:pc
] ;
rdfs:label "coefficient" ;
units:render "* %f" ;
units:symbol "" .
units:hz
a units:Unit ;
rdfs:label "hertz" ;
units:prefixConversion [
units:factor 0.001 ;
units:to units:khz
] , [
units:factor 0.000001 ;
units:to units:mhz
] ;
units:render "%f Hz" ;
units:symbol "Hz" .
units:khz
a units:Unit ;
rdfs:label "kilohertz" ;
units:prefixConversion [
units:factor 1000 ;
units:to units:hz
] , [
units:factor 0.001 ;
units:to units:mhz
] ;
units:render "%f kHz" ;
units:symbol "kHz" .
units:mhz
a units:Unit ;
rdfs:label "megahertz" ;
units:prefixConversion [
units:factor 1000000 ;
units:to units:hz
] , [
units:factor 0.001 ;
units:to units:khz
] ;
units:render "%f MHz" ;
units:symbol "MHz" .
units:bpm
a units:Unit ;
rdfs:label "beats per minute" ;
units:prefixConversion [
units:factor 0.0166666666 ;
units:to units:hz
] ;
units:render "%f BPM" ;
units:symbol "BPM" .
units:oct
a units:Unit ;
units:conversion [
units:factor 12.0 ;
units:to units:semitone12TET
] ;
rdfs:label "octaves" ;
units:render "%f octaves" ;
units:symbol "oct" .
units:cent
a units:Unit ;
units:conversion [
units:factor 0.01 ;
units:to units:semitone12TET
] ;
rdfs:label "cents" ;
units:render "%f ct" ;
units:symbol "ct" .
units:semitone12TET
a units:Unit ;
units:conversion [
units:factor 0.083333333 ;
units:to units:oct
] ;
rdfs:label "semitones" ;
units:render "%f semi" ;
units:symbol "semi" .
units:degree
a units:Unit ;
rdfs:label "degrees" ;
units:render "%f deg" ;
units:symbol "deg" .
units:midiNote
a units:Unit ;
rdfs:label "MIDI note" ;
units:render "MIDI note %d" ;
units:symbol "note" .