From 363810887660d2ddef18a90cb43003ea3f0b89e3 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Sun, 13 Nov 2011 20:17:33 +0000 Subject: Make LV2 a valid OWL 2 DL ontology. --- core.lv2/lv2.ttl | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/core.lv2/lv2.ttl b/core.lv2/lv2.ttl index f380982..49a7bf2 100644 --- a/core.lv2/lv2.ttl +++ b/core.lv2/lv2.ttl @@ -41,7 +41,7 @@ Specification data, like plugin data, is distributed in bundles so hosts may discover all present LV2 data. """ . -lv2:documentation a rdf:Property , owl:DatatypeProperty ; +lv2:documentation a rdf:Property , owl:AnnotationProperty ; rdfs:range rdfs:Literal ; rdfs:label "documentation" ; rdfs:seeAlso ; @@ -60,7 +60,9 @@ devices). See a lv2:Specification , owl:Ontology , doap:Project ; - doap:license ; + owl:imports , + ; + doap:license ; doap:name "LV2" ; doap:homepage ; doap:created "2004-04-21" ; @@ -479,21 +481,17 @@ property without changing the Plugin URI. lv2:Point a rdfs:Class , owl:Class ; rdfs:label "Port value point" ; - rdfs:subClassOf [ - a owl:Restriction ; - owl:onProperty rdfs:label ; - owl:someValuesFrom xsd:string ; - rdfs:comment "A Point MUST have at least one string rdfs:label." ; - ] , [ - a owl:Restriction ; - owl:onProperty rdf:value ; - owl:cardinality 1 ; - rdfs:comment "A Point MUST have exactly one rdf:value." ; - ] ; + # Unfortunately, it is illegal to specify restrictions on rdfs:label or + # rdf:value. If the migration can be handled gracefully, it would be + # good to switch to more appropriate predicates here for validators. lv2:documentation """ -A Point describes an interesting value in a Port's range (much like a labeled -notch on a physical knob). A Point has a string label and a value; the -type of the value MUST be compatible with the type of the corresponding Port. +

A Point describes an interesting value in a Port's range (much like a labeled +notch on a physical knob).

+
    +
  • A Point MUST have at least one rdfs:label which is a string.
  • +
  • A Point MUST have exactly one rdf:value with a type that is compatible + with the type of the corresponding Port.
  • +
""" . lv2:ScalePoint a rdfs:Class , owl:Class ; -- cgit v1.2.1