comparison rdf/vamp.n3 @ 141:cabf8e65c10f

* some typo & doc updates -- mostly just because I'm reading it, and fiddling with a few things as I go along
author cannam
date Fri, 20 Jun 2008 10:01:43 +0000
parents 147de5e64d28
children fcf07a78871d
comparison
equal deleted inserted replaced
140:a6cfe3d9f752 141:cabf8e65c10f
16 <> 16 <>
17 a owl:Ontology; 17 a owl:Ontology;
18 dc:title "Vamp Plugins Ontology"; 18 dc:title "Vamp Plugins Ontology";
19 rdfs:label "Vamp Plugins Ontology"; 19 rdfs:label "Vamp Plugins Ontology";
20 rdfs:comment """ 20 rdfs:comment """
21 Vamp Ontology. This ontology includes the following descriptions 21 Vamp Ontology. This ontology includes the following descriptions:
22 22
23 -OWL description of the Vamp API 23 - OWL description of the Vamp API
24 -OWL description of the Transform environment necessary to set up the execution of any plugin 24 - OWL description of the Transform environment necessary to set up the execution of any plugin
25 25
26 This Ontology provides semantics to describe and control Vamp plugins in RDF. Any "RDF-speaker" host is therefore able to 26 This Ontology provides semantics to describe and control Vamp plugins in RDF. Any "RDF-speaker" host is therefore able to
27 use this ontology to read, set up and execute plugins. 27 use this ontology to read, set up and execute plugins.
28 The extracted features are expressed in terms of the Audio Features Ontology (link). 28 The extracted features are expressed in terms of the Audio Features Ontology: http://purl.org/ontology/af/.
29 For more information, please visit the Vamp Plugins site: http://www.vamp-plugins.org/ 29 For more information, please visit the Vamp Plugins website: http://www.vamp-plugins.org/
30 """; 30 """;
31 foaf:maker "Chris Cannam"; 31 foaf:maker "Chris Cannam";
32 foaf:maker "Chris Sutton"; 32 foaf:maker "Chris Sutton";
33 foaf:maker "Yves Raimond"; 33 foaf:maker "Yves Raimond";
34 foaf:maker "David Pastor Escuredo"; 34 foaf:maker "David Pastor Escuredo";
38 vs:term_status a owl:AnnotationProperty. 38 vs:term_status a owl:AnnotationProperty.
39 39
40 #Authors foaf 40 #Authors foaf
41 41
42 ############################################# 42 #############################################
43 # Part 1: Describin a Vamp plugin 43 # Part 1: Describing a Vamp plugin
44 ############################################# 44 #############################################
45 45
46 ######################################### 46 #########################################
47 # CLASSES 47 # CLASSES
48 ######################################### 48 #########################################
49 49
50 #Note: we don't include Feature concept because we rely on the Audio Feature ontology 50 # Note: we don't include a Feature concept because we rely on the Audio Feature ontology
51 #Note: we additionaly define a Transform concept to link the running context 51 # Note: we additionally define a Transform concept to link the running context
52 52
53 vamp:Plugin 53 vamp:Plugin
54 a owl:Class; 54 a owl:Class;
55 rdfs:label "Vamp Plugin"; 55 rdfs:label "Vamp Plugin";
56 rdfs:comment """ 56 rdfs:comment """
57 Vamp plugin is an implementation of a feature extraction algorithm based on the Vamp API. 57 A Vamp plugin is an implementation of an audio feature extraction algorithm using the Vamp API.
58 """; 58 """;
59 vs:term_status "stable"; 59 vs:term_status "stable";
60 . 60 .
61 61
62 vamp:PluginLibrary 62 vamp:PluginLibrary
63 a owl:Class; 63 a owl:Class;
64 rdfs:label "Vamp Plugin Library"; 64 rdfs:label "Vamp Plugin Library";
65 rdfs:comment """ 65 rdfs:comment """
66 Library of Vamp Plugins. This may need to include rights. 66 Library of Vamp Plugins. This may need to include rights.
67 """; 67 """;
68 vs:term_status "stable"; 68 vs:term_status "stable";
69 . 69 .
70 70
71 vamp:ParameterDescriptor 71 vamp:ParameterDescriptor
72 a owl:Class; 72 a owl:Class;
73 rdfs:label "Vamp Plugin Parameter Descriptor"; 73 rdfs:label "Vamp Plugin Parameter Descriptor";
74 rdfs:comment """ 74 rdfs:comment """
75 Descriptior of a plugin parameter. Hosts require to know about the specific type and form of the parameters of a particular plugin for a correct transform setup. 75 Descriptor for a plugin parameter. Hosts need to know about the specific type and form of the parameters of a particular plugin for a correct transform setup.
76 """; 76 """;
77 vs:term_status "stable"; 77 vs:term_status "stable";
78 . 78 .
79 79
80 vamp:PluginOutput 80 vamp:PluginOutput
81 a owl:Class; 81 a owl:Class;
82 rdfs:label "Vamp Plugin output descriptor"; 82 rdfs:label "Vamp Plugin output descriptor";
83 rdfs:comment """ 83 rdfs:comment """
84 Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. The output type will determine how to read the temporal information of the extracted feature and how to manage the burden of ouput data. 84 Descriptor for an output of a plugin. This descriptor provides information that is necessary to correctly interpret the output features. The output type will determine how to read the temporal information of the extracted features and how to manage the burden of ouput data.
85 """; 85 """;
86 vs:term_status "unstable"; 86 vs:term_status "unstable";
87 . 87 .
88 88
89 vamp:DenseOutput 89 vamp:DenseOutput
90 a owl:Class; 90 a owl:Class;
91 rdfs:subClassOf vamp:PluginOutput; 91 rdfs:subClassOf vamp:PluginOutput;
92 rdfs:label "Dense output"; 92 rdfs:label "Dense output";
93 rdfs:comment """ 93 rdfs:comment """
94 Specific output type comprising large binary data (e.g.: chromagram). 94 Specific output type for data evenly spaced in time, which may be of high volume and which it is usually desirable to represent in a compact form.
95 """; 95 """;
96 vs:term_status "unstable"; 96 vs:term_status "unstable";
97 . 97 .
98 98
99 vamp:SparseOutput 99 vamp:SparseOutput
100 a owl:Class; 100 a owl:Class;
101 rdfs:label "Sparse output"; 101 rdfs:label "Sparse output";
102 rdfs:subClassOf vamp:PluginOutput; 102 rdfs:subClassOf vamp:PluginOutput;
103 rdfs:comment """ 103 rdfs:comment """
104 Specific output type used in sparse data outputs (e.g.: key detector). 104 Specific output type for data that consist of features that require their own individual temporal information.
105 """; 105 """;
106 vs:term_status "unstable"; 106 vs:term_status "unstable";
107 . 107 .
108 108
109 vamp:TrackLevelOutput 109 vamp:TrackLevelOutput
110 a owl:Class; 110 a owl:Class;
111 rdfs:label "track level output"; 111 rdfs:label "track level output";
112 rdfs:subClassOf vamp:PluginOutput; 112 rdfs:subClassOf vamp:PluginOutput;
113 rdfs:comment """ 113 rdfs:comment """
114 Specific output type that returns track level information. This sort of output will require a "hacky" interpretation of the feature timestamp as it will reflect some track metadata instead of temporal data. 114 Specific output type for track level information. The Vamp API does not provide for this sort of output directly, so this will require a "hacky" interpretation of the feature timestamp to establish that it reflects track metadata instead of temporal data.
115 """; 115 """;
116 vs:term_status "unstable"; 116 vs:term_status "unstable";
117 . 117 .
118 118
119 vamp:PluginProgram 119 vamp:PluginProgram
120 a owl:Class; 120 a owl:Class;
121 rdfs:label "Plugin program"; 121 rdfs:label "Plugin program";
122 rdfs:comment """ 122 rdfs:comment """
123 Plugin program defines a predefined context of parameters. We may not need a concept for this and just a property linking a string representing the program name. 123 The program is a predefined context of parameters. We may not need a concept for this and just a property linking a string representing the program name.
124 """; 124 """;
125 vs:term_status "unstable"; 125 vs:term_status "unstable";
126 . 126 .
127 127
128 vamp:Feature 128 vamp:Feature
130 rdfs:label "Vamp Feature"; 130 rdfs:label "Vamp Feature";
131 rdfs:comment "This may be removed mighty soon as we rely on the Audio Features Ontology for this"; 131 rdfs:comment "This may be removed mighty soon as we rely on the Audio Features Ontology for this";
132 vs:term_status "deprecated"; 132 vs:term_status "deprecated";
133 . 133 .
134 134
135 #Classes for enumerations in the Vamp API 135 # Classes for enumerations in the Vamp API
136 136
137 vamp:InputDomain 137 vamp:InputDomain
138 a owl:Class; 138 a owl:Class;
139 rdfs:label "Plugin input domain"; 139 rdfs:label "Plugin input domain";
140 rdfs:comment """ 140 rdfs:comment """
141 Plugins warn about the input domain they require so the host can convert properly the input data. Note that this is not necessary if the host is using a PluginAdapter to wrap plugins (see Vamp doc). 141 Plugins declare the input domain they require, so the host can convert the input data properly. Hosts using the Vamp SDK PluginAdapter to wrap plugins should see this work done for them automatically - see the Vamp documentation.
142 """; 142 """;
143 vs:term_status "stable"; 143 vs:term_status "stable";
144 . 144 .
145 145
146 vamp:SampleType 146 vamp:SampleType
147 a owl:Class; 147 a owl:Class;
148 rdfs:label "sample type"; 148 rdfs:label "sample type";
149 rdfs:comment """ 149 rdfs:comment """
150 Sample type specifies the temporal information of the plugin output. This information should be confronted with the output type for a correct interpretation. 150 The sample type specifies the temporal information of the plugin output. This information should be combined with the output type for a correct interpretation.
151 """; 151 """;
152 vs:term_status "stable"; 152 vs:term_status "stable";
153 . 153 .
154 154
155 ################################################################## 155 ##################################################################
161 vamp:parameter_descriptor 161 vamp:parameter_descriptor
162 a rdf:Property; 162 a rdf:Property;
163 a owl:ObjectProperty; 163 a owl:ObjectProperty;
164 rdfs:label "parameter descriptor"; 164 rdfs:label "parameter descriptor";
165 rdfs:comment """ 165 rdfs:comment """
166 Links each parameter descriptor to the plugin. 166 Links each parameter descriptor to the plugin.
167 """; 167 """;
168 rdfs:range vamp:ParameterDescriptor; 168 rdfs:range vamp:ParameterDescriptor;
169 rdfs:domain vamp:Plugin; 169 rdfs:domain vamp:Plugin;
170 vs:term_status "stable"; 170 vs:term_status "stable";
171 . 171 .
173 vamp:output_descriptor 173 vamp:output_descriptor
174 a rdf:Property; 174 a rdf:Property;
175 a owl:ObjectProperty; 175 a owl:ObjectProperty;
176 rdfs:label "output descriptor"; 176 rdfs:label "output descriptor";
177 rdfs:comment """ 177 rdfs:comment """
178 Links each output type to the plugin. 178 Links each output type to the plugin.
179 """; 179 """;
180 rdfs:range vamp:PluginOutput; 180 rdfs:range vamp:PluginOutput;
181 rdfs:domain vamp:Plugin; 181 rdfs:domain vamp:Plugin;
182 vs:term_status "stable"; 182 vs:term_status "stable";
183 . 183 .
187 vamp:available_plugin 187 vamp:available_plugin
188 a rdf:Property; 188 a rdf:Property;
189 a owl:ObjectProperty; 189 a owl:ObjectProperty;
190 rdfs:label "available plugin"; 190 rdfs:label "available plugin";
191 rdfs:comment """ 191 rdfs:comment """
192 Available plugins in the library 192 Available plugins in the library
193 """; 193 """;
194 rdfs:range vamp:Plugin; 194 rdfs:range vamp:Plugin;
195 rdfs:domain vamp:PluginLibrary; 195 rdfs:domain vamp:PluginLibrary;
196 vs:term_status "stable"; 196 vs:term_status "stable";
197 . 197 .
201 vamp:identifier 201 vamp:identifier
202 a rdf:Property; 202 a rdf:Property;
203 a owl:DatatypeProperty; 203 a owl:DatatypeProperty;
204 rdfs:label "plugin identifier"; 204 rdfs:label "plugin identifier";
205 rdfs:comment """ 205 rdfs:comment """
206 Machine-readable identifier for Vamp plugin classes (and Transform). 206 Machine-readable identifier for a Vamp plugin within the scope of its library, or for a plugin descriptor within the scope of the plugin.
207 """; 207 """;
208 rdfs:domain vamp:Plugin; 208 rdfs:domain vamp:Plugin;
209 rdfs:domain vamp:PluginProgram; 209 rdfs:domain vamp:PluginProgram;
210 rdfs:domain vamp:PluginOutput; 210 rdfs:domain vamp:PluginOutput;
211 rdfs:domain vamp:ParameterDescriptor; 211 rdfs:domain vamp:ParameterDescriptor;
226 vamp:vamp_API_version 226 vamp:vamp_API_version
227 a rdf:Property; 227 a rdf:Property;
228 a owl:DatatypeProperty; 228 a owl:DatatypeProperty;
229 rdfs:label "vamp API version"; 229 rdfs:label "vamp API version";
230 rdfs:comment """ 230 rdfs:comment """
231 Version of the Vamp API used to implement this plugin. 231 Version of the Vamp API used to implement this plugin.
232 """; 232 """;
233 rdfs:domain vamp:Plugin; 233 rdfs:domain vamp:Plugin;
234 vs:term_status "stable"; 234 vs:term_status "stable";
235 . 235 .
236 236
237 vamp:input_domain 237 vamp:input_domain
238 a rdf:Property; 238 a rdf:Property;
239 a owl:DatatypeProperty; 239 a owl:DatatypeProperty;
240 rdfs:label "input domain"; 240 rdfs:label "input domain";
241 rdfs:comment """ 241 rdfs:comment """
242 Input domain allowed by the plugin (time or frequency). 242 Input domain required by the plugin (time or frequency).
243 """; 243 """;
244 rdfs:domain vamp:Plugin; 244 rdfs:domain vamp:Plugin;
245 rdfs:range vamp:InputDomain; 245 rdfs:range vamp:InputDomain;
246 vs:term_status "stable"; 246 vs:term_status "stable";
247 . 247 .
248 248
249 #Note that other properties like maker can be linked to the plugin descriptor using other namespaces 249 # Note that other properties like maker can be linked to the plugin descriptor using other namespaces
250 250
251 ##### Parameter Descriptor properties 251 ##### Parameter Descriptor properties
252 252
253 #Note: Identifier has been already defined 253 # Note: Identifier has been already defined
254 254
255 vamp:max_value 255 vamp:max_value
256 a rdf:Property; 256 a rdf:Property;
257 a owl:DatatypeProperty; 257 a owl:DatatypeProperty;
258 a owl:FunctionalProperty; 258 a owl:FunctionalProperty;
436 436
437 ################################################### END OF THE VAMP API DESCRIPTION ############################################################ 437 ################################################### END OF THE VAMP API DESCRIPTION ############################################################
438 438
439 439
440 ############################################# 440 #############################################
441 # Part 2: Classes to describe de execution. TRANSFORM 441 # Part 2: Classes to describe plugin execution. TRANSFORM
442 ############################################# 442 #############################################
443 443
444 #Note: we need to define this part of the ontology to give a minimun common standard for hosts. 444 # Note: we need to define this part of the ontology to give a minimun common standard for hosts.
445 #Note: this may split up in some other ontology or become part of the DSP namespace 445 # Note: this may split up in some other ontology or become part of the DSP namespace
446 446
447 vamp:Transform 447 vamp:Transform
448 a owl:Class; 448 a owl:Class;
449 rdfs:label "Transform"; 449 rdfs:label "Transform";
450 vs:term_status "stable"; 450 vs:term_status "stable";
451 rdfs:comment """ 451 rdfs:comment """
452 The Transform defines the environment of any audio processing computation. 452 The Transform defines the environment of any audio processing computation.
453 """; 453 """;
454 . 454 .
455 455
456 vamp:Parameter 456 vamp:Parameter
457 a owl:Class; 457 a owl:Class;
458 rdfs:label "Parameter"; 458 rdfs:label "Parameter";
459 vs:term_status "unstable"; 459 vs:term_status "unstable";
460 rdfs:comment """ 460 rdfs:comment """
461 Parameter used by the plugin transform to set up the plugin. The parameter class instances should be instantiated according to the specific vamp:PluginDescriptor instance for each plugin. 461 Parameter used by the plugin transform to set up the plugin. The parameter class instances should be instantiated according to the specific vamp:PluginDescriptor instance for each plugin.
462 """; 462 """;
463 . 463 .
464 464
465 vamp:Configuration 465 vamp:Configuration
466 a owl:Class; 466 a owl:Class;
467 rdfs:label "Configuration"; 467 rdfs:label "Configuration";
468 vs:term_status "unstable"; 468 vs:term_status "unstable";
469 rdfs:comment """ 469 rdfs:comment """
470 For extension (SV implementation of Transform). 470 For extension (key/value data provided to DSSI plugins, not relevant to Vamp)
471 """; 471 """;
472 . 472 .
473 473
474 vamp:TransformType 474 vamp:TransformType
475 a owl:Class; 475 a owl:Class;
478 rdfs:comment """ 478 rdfs:comment """
479 Specifies the type of transform. May be feature extraction, effect... 479 Specifies the type of transform. May be feature extraction, effect...
480 """; 480 """;
481 . 481 .
482 482
483 ##individuals of transfortype 483 ##individuals of transformtype
484 vamp:FeatureExtraction 484 vamp:FeatureExtraction
485 a vamp:TransformType; 485 a vamp:TransformType;
486 rdfs:label "Feature Extraction"; 486 rdfs:label "Feature Extraction";
487 vs:term_status "unstable"; 487 vs:term_status "unstable";
488 rdfs:comment """ 488 rdfs:comment """
514 a rdf:Property; 514 a rdf:Property;
515 a owl:ObjectProperty; 515 a owl:ObjectProperty;
516 rdfs:label "plugin"; 516 rdfs:label "plugin";
517 vs:term_status "stable"; 517 vs:term_status "stable";
518 rdfs:comment """ 518 rdfs:comment """
519 Specifies the plugin in execution. This is an extension to use Transform with other plugin libraries 519 Specifies the sort of plugin in execution. This is an extension to use Transform with other plugin libraries
520 """; 520 """;
521 rdfs:domain vamp:Transform; 521 rdfs:domain vamp:Transform;
522 rdfs:range vamp:Plugin; 522 rdfs:range vamp:Plugin;
523 . 523 .
524 524
527 a owl:ObjectProperty; 527 a owl:ObjectProperty;
528 a owl:FunctionalProperty; 528 a owl:FunctionalProperty;
529 rdfs:label "program"; 529 rdfs:label "program";
530 vs:term_status "stable"; 530 vs:term_status "stable";
531 rdfs:comment """ 531 rdfs:comment """
532 Specifies the program to set the plugin in execution. Here the plugin program matches with the one in the plugin descriptor. There is not descriptor required for the program (just a string), is it? 532 Specifies the program to set the plugin in execution. Here the plugin program matches with the one in the plugin descriptor. There is not descriptor required for the program (just a string), is it?
533 """; 533 """;
534 rdfs:domain vamp:Transform; 534 rdfs:domain vamp:Transform;
535 rdfs:range vamp:PluginProgram; 535 rdfs:range vamp:PluginProgram;
536 . 536 .
537 537
540 a owl:ObjectProperty; 540 a owl:ObjectProperty;
541 a owl:FunctionalProperty; 541 a owl:FunctionalProperty;
542 rdfs:label "program"; 542 rdfs:label "program";
543 vs:term_status "stable"; 543 vs:term_status "stable";
544 rdfs:comment """ 544 rdfs:comment """
545 Extension for configuration. 545 Extension for configuration.
546 """; 546 """;
547 rdfs:domain vamp:Transform; 547 rdfs:domain vamp:Transform;
548 rdfs:range vamp:Configuration; 548 rdfs:range vamp:Configuration;
549 . 549 .
550 550