Mercurial > hg > vamp-plugin-sdk
comparison rdf/vamp.n3 @ 135:6bffd86a103d
* Add RDF ontology for Vamp plugins [experimental]
author | cannam |
---|---|
date | Thu, 29 May 2008 14:17:02 +0000 |
parents | |
children | 1b1ebb0f10ac |
comparison
equal
deleted
inserted
replaced
134:c1dce0b033cb | 135:6bffd86a103d |
---|---|
1 @prefix owl: <http://www.w3.org/2002/07/owl#>. | |
2 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. | |
3 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. | |
4 @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. | |
5 @prefix foaf: <http://xmlns.com/foaf/0.1/>. | |
6 @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>. | |
7 @prefix list: <http://www.w3.org/2000/10/swap/list#>. | |
8 @prefix dc: <http://purl.org/dc/elements/1.1/>. | |
9 @prefix mo: <http://purl.org/ontology/mo/>. | |
10 @prefix event: <http://purl.org/NET/c4dm/event.owl#>. | |
11 @prefix af: <http://purl.org/ontology/af/>. | |
12 @prefix tl: <http://purl.org/NET/c4dm/timeline.owl#>. | |
13 @prefix vamp: <http://purl.org/ontology/vamp/>. | |
14 @prefix : <> . | |
15 | |
16 <> | |
17 a owl:Ontology; | |
18 dc:title "Vamp Plugins Ontology"; | |
19 rdfs:label "Vamp Plugins Ontology"; | |
20 rdfs:comment """ | |
21 added comments from Cannam | |
22 """; | |
23 foaf:maker "Chris Cannam"; | |
24 foaf:maker "Chris Sutton"; | |
25 foaf:maker "Yves Raimond"; | |
26 foaf:maker "David Pastor Escuredo"; | |
27 dc:date "$Date: 2008/05/21 17:05:11 $"; | |
28 . | |
29 | |
30 vs:term_status a owl:AnnotationProperty. | |
31 | |
32 #Authors foaf | |
33 | |
34 ############################################# | |
35 # Part 1: Classes to describe the plugin | |
36 ############################################# | |
37 | |
38 #Note: we don't include Feature concept because we rely on the Audio Feature ontology | |
39 #Note: we additionaly define a PluginTransform concept to link the running context | |
40 | |
41 vamp:Plugin | |
42 a owl:Class; | |
43 rdfs:label "Vamp Plugin"; | |
44 rdfs:comment """ | |
45 Vamp plugin is an implementation of a feature extraction algorithm based on the Vamp API. | |
46 """; | |
47 vs:term_status "stable"; | |
48 . | |
49 | |
50 vamp:PluginLibrary | |
51 a owl:Class; | |
52 rdfs:label "Vamp Plugin Library"; | |
53 rdfs:comment """ | |
54 Library of Vamp Plugins | |
55 """; | |
56 vs:term_status "stable"; | |
57 . | |
58 | |
59 vamp:PluginDescription | |
60 a owl:Class; | |
61 rdfs:label "Vamp Plugin Descriptor"; | |
62 rdfs:comment """ | |
63 The plugin descriptor provides basic metadata of the plugin. We may remove this and link directly to the plugin instance | |
64 """; | |
65 vs:term_status "unstable"; | |
66 . | |
67 | |
68 vamp:ParameterDescriptor | |
69 a owl:Class; | |
70 rdfs:label "Vamp Plugin Parameter Descriptor"; | |
71 rdfs:comment """ | |
72 Descriptior of a plugin parameter | |
73 """; | |
74 vs:term_status "stable"; | |
75 . | |
76 | |
77 vamp:PluginOutput | |
78 a owl:Class; | |
79 rdfs:label "Vamp Plugin output descriptor"; | |
80 rdfs:comment """ | |
81 Descriptior of the plugin output. This descriptor provides necessary information to interpret correctly the output features. | |
82 Each plugin will be bound to one of the subclasses. | |
83 """; | |
84 vs:term_status "unstable"; | |
85 . | |
86 | |
87 vamp:DenseOutput | |
88 a owl:Class; | |
89 rdfs:subClassOf vamp:PluginOutput; | |
90 rdfs:comment """ | |
91 Large binary data as output. | |
92 """; | |
93 vs:term_status "unstable"; | |
94 . | |
95 | |
96 vamp:SparseOutput | |
97 a owl:Class; | |
98 rdfs:subClassOf vamp:PluginOutput; | |
99 rdfs:comment """ | |
100 The output defines events with no large data associated. | |
101 """; | |
102 vs:term_status "unstable"; | |
103 . | |
104 | |
105 vamp:TrackLevelOutput | |
106 a owl:Class; | |
107 rdfs:subClassOf vamp:PluginOutput; | |
108 rdfs:comment """ | |
109 We obtain track metadata? | |
110 """; | |
111 vs:term_status "unstable"; | |
112 . | |
113 | |
114 vamp:PluginProgram | |
115 a owl:Class; | |
116 rdfs:label "Plugin program"; | |
117 rdfs:comment """ | |
118 Plugin program defines a predefined context of parameters. | |
119 """; | |
120 vs:term_status "stable"; | |
121 . | |
122 | |
123 vamp:Feature | |
124 a owl:Class; | |
125 rdfs:label "Vamp Feature"; | |
126 rdfs:comment "This may be removed mighty soon as we rely on the Audio Features Ontology for this"; | |
127 vs:term_status "deprecated"; | |
128 . | |
129 | |
130 #Classes for enumerations in the Vamp API | |
131 | |
132 vamp:InputDomain | |
133 a owl:Class; | |
134 rdfs:label "Plugin input domain"; | |
135 rdfs:comment "Plugin input domain"; | |
136 vs:term_status "stable"; | |
137 . | |
138 | |
139 vamp:SampleType | |
140 a owl:Class; | |
141 rdfs:label "sample type"; | |
142 rdfs:comment "sample type for the plugin output"; | |
143 vs:term_status "stable"; | |
144 . | |
145 | |
146 | |
147 | |
148 | |
149 ################################################################## | |
150 # PROPERTIES. Some of them can be declared as builtins. | |
151 ################################################################## | |
152 | |
153 ##### Plugin properties | |
154 | |
155 vamp:plugin_descriptor | |
156 a rdf:Property; | |
157 a owl:ObjectProperty; | |
158 rdfs:label "plugin descriptor"; | |
159 rdfs:comment """ | |
160 Links the plugin descriptor to the plugin (it may be redundant for an RDF decription to have a plugin descriptor). | |
161 """; | |
162 rdfs:range vamp:PluginDescription; | |
163 rdfs:domain vamp:Plugin; | |
164 vs:term_status "stable"; | |
165 . | |
166 | |
167 vamp:parameter_descriptor | |
168 a rdf:Property; | |
169 a owl:ObjectProperty; | |
170 rdfs:label "parameter descriptor"; | |
171 rdfs:comment """ | |
172 Links each parameter descriptor to the plugin. | |
173 """; | |
174 rdfs:range vamp:ParameterDescriptor; | |
175 rdfs:domain vamp:Plugin; | |
176 vs:term_status "stable"; | |
177 . | |
178 | |
179 vamp:output_descriptor | |
180 a rdf:Property; | |
181 a owl:ObjectProperty; | |
182 rdfs:label "output descriptor"; | |
183 rdfs:comment """ | |
184 Links each output descriptor to the plugin. | |
185 """; | |
186 rdfs:range vamp:PluginOutput; | |
187 rdfs:domain vamp:Plugin; | |
188 vs:term_status "stable"; | |
189 . | |
190 | |
191 ##### Plugin Library properties | |
192 | |
193 vamp:available_plugin | |
194 a rdf:Property; | |
195 a owl:ObjectProperty; | |
196 rdfs:label "available plugin"; | |
197 rdfs:comment """ | |
198 Available plugins in the library | |
199 """; | |
200 rdfs:range vamp:Plugin; | |
201 rdfs:domain vamp:PluginLibrary; | |
202 vs:term_status "stable"; | |
203 . | |
204 | |
205 ##### Plugin Transform | |
206 | |
207 vamp:parameter | |
208 a rdf:Property; | |
209 a owl:ObjectProperty; | |
210 rdfs:label "parameter"; | |
211 rdfs:comment """ | |
212 Actual parameter used in the plugin transform to run the plugin | |
213 """; | |
214 rdfs:range vamp:Plugin; | |
215 rdfs:domain vamp:PluginTransform; | |
216 vs:term_status "stable"; | |
217 . | |
218 | |
219 ##### Plugin Descriptor properties | |
220 | |
221 vamp:identifier | |
222 a rdf:Property; | |
223 a owl:DatatypeProperty; | |
224 rdfs:label "plugin identifier"; | |
225 rdfs:comment """ | |
226 Machine-readable identifier for Vamp plugin classes. | |
227 """; | |
228 rdfs:domain vamp:PluginDescription; | |
229 rdfs:domain vamp:PluginProgram; | |
230 rdfs:domain vamp:PluginOutput; | |
231 rdfs:domain vamp:ParameterDescriptor; | |
232 vs:term_status "stable"; | |
233 . | |
234 | |
235 vamp:name | |
236 a rdf:Property; | |
237 a owl:DatatypeProperty; | |
238 rdfs:label "plugin name"; | |
239 rdfs:comment """ | |
240 Human-readable identifier for the plugin. | |
241 """; | |
242 rdfs:domain vamp:PluginDescription; | |
243 vs:term_status "stable"; | |
244 . | |
245 | |
246 vamp:vamp_API_version | |
247 a rdf:Property; | |
248 a owl:DatatypeProperty; | |
249 rdfs:label "vamp API version"; | |
250 rdfs:comment """ | |
251 Version of the Vamp API used for the plugin. | |
252 """; | |
253 rdfs:domain vamp:PluginDescription; | |
254 vs:term_status "stable"; | |
255 . | |
256 | |
257 vamp:input_domain | |
258 a rdf:Property; | |
259 a owl:DatatypeProperty; | |
260 rdfs:label "input domain"; | |
261 rdfs:comment """ | |
262 Input domain for the plugin (time or frequency). | |
263 """; | |
264 rdfs:domain vamp:Plugin; | |
265 rdfs:range vamp:InputDomain; | |
266 vs:term_status "stable"; | |
267 . | |
268 | |
269 #Note that other properties like maker can be linked to the plugin descriptor using other namespaces | |
270 | |
271 ##### Parameter Descriptor properties | |
272 | |
273 #Note: Identifier has been already defined | |
274 | |
275 vamp:max_value | |
276 a rdf:Property; | |
277 a owl:DatatypeProperty; | |
278 a owl:FunctionalProperty; | |
279 rdfs:label "max value"; | |
280 rdfs:comment "Maximum value of the parameter"; | |
281 rdfs:range vamp:ParameterDescriptor; | |
282 rdfs:range vamp:PluginOutput; | |
283 vs:term_status "unstable"; | |
284 . | |
285 | |
286 vamp:min_value | |
287 a rdf:Property; | |
288 a owl:DatatypeProperty; | |
289 a owl:FunctionalProperty; | |
290 rdfs:label "min value"; | |
291 rdfs:comment "Minimum value of the parameter"; | |
292 rdfs:range vamp:ParameterDescriptor; | |
293 rdfs:range vamp:PluginOutput; | |
294 vs:term_status "unstable"; | |
295 . | |
296 | |
297 vamp:default_value | |
298 a rdf:Property; | |
299 a owl:DatatypeProperty; | |
300 a owl:FunctionalProperty; | |
301 rdfs:label "default value"; | |
302 rdfs:comment "Default value of the parameter"; | |
303 rdfs:range vamp:ParameterDescriptor; | |
304 vs:term_status "unstable"; | |
305 . | |
306 | |
307 ########Output Descriptor properties | |
308 | |
309 vamp:fixed_bin_count | |
310 a rdf:Property; | |
311 a owl:DatatypeProperty; | |
312 rdfs:label "fixed bin count"; | |
313 rdfs:comment "fixed bin count"; | |
314 rdfs:domain vamp:PluginOutput; | |
315 vs:term_status "unstable"; | |
316 . | |
317 | |
318 vamp:unit | |
319 a rdf:Property; | |
320 a owl:DatatypeProperty; | |
321 a owl:FunctionalProperty; | |
322 rdfs:label "unit"; | |
323 rdfs:comment "unit of the output"; | |
324 rdfs:domain vamp:PluginOutput; | |
325 rdfs:domain vamp:ParameterDescriptor; | |
326 vs:term_status "unstable"; | |
327 . | |
328 | |
329 vamp:sample_rate | |
330 a rdf:Property; | |
331 a owl:DatatypeProperty; | |
332 rdfs:label "sample rate"; | |
333 rdfs:comment "sample rate of the output"; | |
334 rdfs:domain vamp:PluginOutput; | |
335 vs:term_status "unstable"; | |
336 . | |
337 | |
338 vamp:quantized_step | |
339 a rdf:Property; | |
340 a owl:FunctionalProperty; | |
341 a owl:DatatypeProperty; | |
342 rdfs:label "quantized step"; | |
343 rdfs:comment "quantized step (if any)"; | |
344 rdfs:domain vamp:PluginOutput; | |
345 rdfs:domain vamp:ParameterDescriptor; | |
346 vs:term_status "unstable"; | |
347 . | |
348 | |
349 vamp:bin_count | |
350 a rdf:Property; | |
351 a owl:DatatypeProperty; | |
352 rdfs:label "bin count"; | |
353 rdfs:comment "bin count"; | |
354 rdfs:domain vamp:PluginOutput; | |
355 vs:term_status "unstable"; | |
356 . | |
357 | |
358 vamp:bin_names | |
359 a rdf:Property; | |
360 a owl:DatatypeProperty; | |
361 rdfs:label "bin names"; | |
362 rdfs:comment "bin names"; | |
363 rdfs:domain vamp:PluginOutput; | |
364 vs:term_status "unstable"; | |
365 . | |
366 | |
367 vamp:sample_type | |
368 a rdf:Property; | |
369 a owl:DatatypeProperty; | |
370 a owl:FunctionalProperty; | |
371 rdfs:label "sample type"; | |
372 rdfs:comment "sample type"; | |
373 rdfs:domain vamp:PluginOutput; | |
374 rdfs:range vamp:SampleType; | |
375 vs:term_status "unstable"; | |
376 . | |
377 | |
378 vamp:computes_feature_type | |
379 a rdf:Property; | |
380 a owl:ObjectProperty; | |
381 rdfs:label "feature type"; | |
382 rdfs:comment """ | |
383 Feature Types output by the plugin | |
384 """; | |
385 rdfs:domain vamp:PluginOutput; | |
386 rdfs:range rdfs:Literal; | |
387 #This should be substituted by af:Feature i think. Definitely Literal is not right here. | |
388 vs:term_status "unstable"; | |
389 . | |
390 | |
391 ######################## | |
392 # INDIVIDUALS | |
393 ######################## | |
394 | |
395 vamp:time_domain | |
396 a vamp:InputDomain; | |
397 . | |
398 | |
399 vamp:frequency_domain | |
400 a vamp:InputDomain; | |
401 . | |
402 | |
403 vamp:OneSamplePerStep | |
404 a vamp:SampleType; | |
405 . | |
406 | |
407 vamp:FixedSampleRate | |
408 a vamp:SampleType; | |
409 . | |
410 | |
411 vamp:VariableSampleRate | |
412 a vamp:SampleType; | |
413 . | |
414 | |
415 ################################################### END OF THE VAMP API DESCRIPTION ############################################################ | |
416 | |
417 | |
418 ############################################# | |
419 # Part 2: Classes to describe de execution (to move somewhere else) | |
420 ############################################# | |
421 | |
422 #Note: we need to define this part of the ontology to give a minimun common standard for hosts. | |
423 #Note: this may split up in some other ontology (cool) | |
424 | |
425 vamp:Transform | |
426 a owl:Class; | |
427 rdfs:label "Plugin Transform"; | |
428 vs:term_status "stable"; | |
429 rdfs:comment """ | |
430 The plugin transform defines the context of the feature extraction process. | |
431 """; | |
432 . | |
433 | |
434 vamp:Parameter | |
435 a owl:Class; | |
436 rdfs:label "Parameter"; | |
437 vs:term_status "unstable"; | |
438 rdfs:comment """ | |
439 Parameter used by the plugin transform to set up the plugin. | |
440 """; | |
441 . | |
442 | |
443 ################ | |
444 # Properties | |
445 ################ | |
446 | |
447 ##### Plugin Transform properties | |
448 | |
449 vamp:plugin | |
450 a rdf:Property; | |
451 a owl:ObjectProperty; | |
452 rdfs:label "plugin"; | |
453 vs:term_status "stable"; | |
454 rdfs:comment """ | |
455 Specifies the plugin in execution. | |
456 """; | |
457 rdfs:domain vamp:PluginTransform; | |
458 rdfs:range vamp:Plugin; | |
459 . | |
460 | |
461 vamp:program | |
462 a rdf:Property; | |
463 a owl:ObjectProperty; | |
464 a owl:FunctionalProperty; | |
465 rdfs:label "program"; | |
466 vs:term_status "stable"; | |
467 rdfs:comment """ | |
468 Specifies the program to set the plugin in execution. | |
469 """; | |
470 rdfs:domain vamp:Transform; | |
471 rdfs:range vamp:PluginProgram; | |
472 . | |
473 | |
474 vamp:parameter | |
475 a rdf:Property; | |
476 a owl:ObjectProperty; | |
477 rdfs:label "parameter"; | |
478 vs:term_status "stable"; | |
479 rdfs:comment """ | |
480 Specifies the parameter to set the plugin in execution. | |
481 """; | |
482 rdfs:domain vamp:PluginTransform; | |
483 rdfs:range vamp:Parameter; | |
484 . | |
485 | |
486 vamp:step_size | |
487 a rdf:Property; | |
488 a owl:DatatypeProperty; | |
489 a owl:FunctionalProperty; | |
490 rdfs:label "step size"; | |
491 vs:term_status "stable"; | |
492 rdfs:comment """ | |
493 Specifies the step size for the framing. | |
494 """; | |
495 rdfs:domain vamp:PluginTransform; | |
496 . | |
497 | |
498 vamp:block_size | |
499 a rdf:Property; | |
500 a owl:DatatypeProperty; | |
501 a owl:FunctionalProperty; | |
502 rdfs:label "block size"; | |
503 vs:term_status "stable"; | |
504 rdfs:comment """ | |
505 Specifies the block size for the framing. | |
506 """; | |
507 rdfs:domain vamp:PluginTransform; | |
508 . | |
509 | |
510 vamp:sample_rate | |
511 a rdf:Property; | |
512 a owl:DatatypeProperty; | |
513 a owl:FunctionalProperty; | |
514 rdfs:label "sample rate"; | |
515 vs:term_status "stable"; | |
516 rdfs:comment """ | |
517 Specifies the sample rate if it is not constant. | |
518 """; | |
519 rdfs:domain vamp:PluginTransform; | |
520 . | |
521 | |
522 vamp:transform_type | |
523 a rdf:Property; | |
524 a owl:DatatypeProperty; | |
525 a owl:FunctionalProperty; | |
526 rdfs:label "transform type"; | |
527 vs:term_status "unstable"; | |
528 rdfs:comment """ | |
529 Specifies the transform type (they should be individuals). | |
530 """; | |
531 rdfs:domain vamp:PluginTransform; | |
532 . | |
533 | |
534 vamp:window_type | |
535 a rdf:Property; | |
536 a owl:DatatypeProperty; | |
537 a owl:FunctionalProperty; | |
538 rdfs:label "window type"; | |
539 vs:term_status "unstable"; | |
540 rdfs:comment """ | |
541 Specifies the window type (they should be individuals and clearly not here). | |
542 """; | |
543 rdfs:domain vamp:PluginTransform; | |
544 . | |
545 | |
546 ##### Parameter properties | |
547 | |
548 vamp:value | |
549 a rdf:Property; | |
550 a owl:DatatypeProperty; | |
551 a owl:FunctionalProperty; | |
552 rdfs:label "value"; | |
553 vs:term_status "stable"; | |
554 rdfs:comment """ | |
555 Specifies the current value of the parameter. | |
556 """; | |
557 rdfs:domain vamp:Parameter; | |
558 . | |
559 | |
560 vamp:parameter_descriptor | |
561 a rdf:Property; | |
562 a owl:ObjectProperty; | |
563 rdfs:label "parameter descriptor"; | |
564 vs:term_status "stable"; | |
565 rdfs:comment """ | |
566 Specifies exactly the type of descriptor to set in the transform by linking it. | |
567 """; | |
568 rdfs:domain vamp:Parameter; | |
569 rdfs:range vamp:ParameterDescriptor; | |
570 . | |
571 | |
572 | |
573 | |
574 |