Mercurial > hg > vamp-plugin-sdk
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 |