From 322105561fa73239fae9d1f4215b250682a02564 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 27 Jan 2013 20:30:14 +0000 Subject: Remove atom:stringType in favour of owl:onDatatype so generic tools can understand and validate atom literals. --- lv2/lv2plug.in/ns/ext/atom/atom.ttl | 85 +++++++++++++++------------- lv2/lv2plug.in/ns/ext/atom/lv2-atom.doap.ttl | 4 +- lv2/lv2plug.in/ns/ext/midi/midi.ttl | 5 +- 3 files changed, 52 insertions(+), 42 deletions(-) diff --git a/lv2/lv2plug.in/ns/ext/atom/atom.ttl b/lv2/lv2plug.in/ns/ext/atom/atom.ttl index 1254d2d..725d9ff 100644 --- a/lv2/lv2plug.in/ns/ext/atom/atom.ttl +++ b/lv2/lv2plug.in/ns/ext/atom/atom.ttl @@ -65,19 +65,6 @@ The identifier for a C type describing the binary representation of an Atom of this type. """ . -atom:stringType - a rdf:Property , - owl:ObjectProperty , - owl:FunctionalProperty ; - rdfs:label "string type" ; - rdfs:domain rdfs:Class ; - rdfs:range rdfs:Datatype ; - lv2:documentation """ -

The type to be used when representing an Atom of this type as a string -(e.g. in XML or RDF). Typically an XML Schema Datatype URI.

-""" . - atom:Atom a rdfs:Class ; rdfs:label "Atom" ; @@ -109,10 +96,11 @@ explicitly known to support references (e.g. by supporting a feature).

""" . atom:Chunk - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Atom ; rdfs:label "Chunk of memory" ; - atom:stringType xsd:base64Binary ; + owl:onDatatype xsd:base64Binary ; lv2:documentation """

A chunk of memory with undefined contents. This type is used to indicate a certain amount of space is available. For example, output ports with a @@ -134,47 +122,53 @@ atom:Number rdfs:label "Number" . atom:Int - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Number ; rdfs:label "Signed 32-bit integer" ; atom:cType "LV2_Atom_Int" ; - atom:stringType xsd:int . + owl:onDatatype xsd:int . atom:Long - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Number ; rdfs:label "Signed 64-bit integer" ; atom:cType "LV2_Atom_Long" ; - atom:stringType xsd:long . + owl:onDatatype xsd:long . atom:Float - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Number ; rdfs:label "32-bit IEEE-754 floating point number" ; atom:cType "LV2_Atom_Float" ; - atom:stringType xsd:float . + owl:onDatatype xsd:float . atom:Double - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Number ; rdfs:label "64-bit IEEE-754 floating point number" ; atom:cType "LV2_Atom_Double" ; - atom:stringType xsd:double . + owl:onDatatype xsd:double . atom:Bool - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Atom ; rdfs:label "Boolean" ; atom:cType "LV2_Atom_Bool" ; - atom:stringType xsd:boolean ; + owl:onDatatype xsd:boolean ; rdfs:comment "An Int where 0 is false and any other value is true." . atom:String - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:Atom ; rdfs:label "String" ; atom:cType "LV2_Atom_String" ; - atom:stringType xsd:string ; + owl:onDatatype xsd:string ; lv2:documentation """

A UTF-8 encoded string.

@@ -236,26 +230,39 @@ void set_to_turtle_string(LV2_Atom_Literal* lit, const char* ttl) { """ . atom:Path - a rdfs:Class ; - rdfs:subClassOf atom:String ; + a rdfs:Class , + rdfs:Datatype ; + rdfs:subClassOf atom:URI ; + owl:onDatatype atom:URI ; rdfs:label "File path string" ; lv2:documentation """ -

A local file path string. This is identical in format to atom:String, -except the string is a path. Since the ability to distinguish paths from plain -strings is often necessary, paths MUST NOT be transmitted as atom:String.

+

A local file path.

+ +

A Path is a URI reference with only a path component: no scheme, authority, +query, or fragment. Thus, paths to files in the same bundle may be cleanly +written in Turtle files as a relative URI. However, implementations may assume +any binary Path (e.g. in an event payload) is a valid file path which can +passed to system functions like fopen() directly, without any character +encoding or escape expansion required.

+ +

Any implemenation that creates a Path atom to transmit to another is +responsible for ensuring it is valid. A Path SHOULD always be absolute, unless +there is some mechanism in place that defines a base path. Since this is not +the case for plugin instances, effectively any Path sent to or received from a +plugin instance MUST be absolute.

""" . atom:URI - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:subClassOf atom:String ; + owl:onDatatype xsd:anyURI ; rdfs:label "URI string" ; - atom:stringType xsd:anyURI ; lv2:documentation """ -

A URI string. This is identical in format to atom:String, except the string -is a URI. This is useful when a URI is needed but mapping is inappropriate, -for example with temporary or relative URIs. Since the ability to distinguish -URIs from plain strings is often necessary, URIs MUST NOT be transmitted as -atom:String.

+

A URI string. This is useful when a URI is needed but mapping is +inappropriate, for example with temporary or relative URIs. Since the ability +to distinguish URIs from plain strings is often necessary, URIs MUST NOT be +transmitted as atom:String.

This is not strictly a URI, since UTF-8 is allowed. Escaping and related issues are the host's responsibility.

diff --git a/lv2/lv2plug.in/ns/ext/atom/lv2-atom.doap.ttl b/lv2/lv2plug.in/ns/ext/atom/lv2-atom.doap.ttl index dce66ba..ca33803 100644 --- a/lv2/lv2plug.in/ns/ext/atom/lv2-atom.doap.ttl +++ b/lv2/lv2plug.in/ns/ext/atom/lv2-atom.doap.ttl @@ -13,10 +13,12 @@ doap:developer ; doap:release [ doap:revision "1.3" ; - doap:created "2013-01-16" ; + doap:created "2013-01-27" ; dcs:changeset [ dcs:item [ rdfs:label "Fix lv2_atom_sequence_end()." + ] , [ + rdfs:label "Remove atom:stringType in favour of owl:onDatatype so generic tools can understand and validate atom literals." ] ] ] , [ diff --git a/lv2/lv2plug.in/ns/ext/midi/midi.ttl b/lv2/lv2plug.in/ns/ext/midi/midi.ttl index e35d3e3..b30794c 100644 --- a/lv2/lv2plug.in/ns/ext/midi/midi.ttl +++ b/lv2/lv2plug.in/ns/ext/midi/midi.ttl @@ -109,11 +109,12 @@ midi:HexByte rdfs:comment "A hexadecimal byte, which is a xsd:hexBinary value <= FF" . midi:MidiEvent - a rdfs:Class ; + a rdfs:Class , + rdfs:Datatype ; rdfs:label "MIDI Message" ; rdfs:subClassOf ev:Event , atom:Atom ; - atom:stringType xsd:hexBinary ; + owl:onDatatype xsd:hexBinary ; lv2:documentation """

A single raw MIDI message (i.e. a sequence of bytes).

-- cgit v1.2.1