annotate rdf/vamp.n3 @ 143:fcf07a78871d

* Add identifier to PluginLibrary domain
author cannam
date Fri, 20 Jun 2008 11:35:24 +0000
parents cabf8e65c10f
children 6b80bb85083b
rev   line source
cannam@135 1 @prefix owl: <http://www.w3.org/2002/07/owl#>.
cannam@135 2 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
cannam@135 3 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
cannam@135 4 @prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
cannam@135 5 @prefix foaf: <http://xmlns.com/foaf/0.1/>.
cannam@135 6 @prefix vs: <http://www.w3.org/2003/06/sw-vocab-status/ns#>.
cannam@135 7 @prefix list: <http://www.w3.org/2000/10/swap/list#>.
cannam@135 8 @prefix dc: <http://purl.org/dc/elements/1.1/>.
cannam@135 9 @prefix mo: <http://purl.org/ontology/mo/>.
cannam@135 10 @prefix event: <http://purl.org/NET/c4dm/event.owl#>.
cannam@135 11 @prefix af: <http://purl.org/ontology/af/>.
cannam@135 12 @prefix tl: <http://purl.org/NET/c4dm/timeline.owl#>.
cannam@135 13 @prefix vamp: <http://purl.org/ontology/vamp/>.
cannam@135 14 @prefix : <> .
cannam@135 15
cannam@135 16 <>
cannam@135 17 a owl:Ontology;
cannam@135 18 dc:title "Vamp Plugins Ontology";
cannam@135 19 rdfs:label "Vamp Plugins Ontology";
cannam@135 20 rdfs:comment """
cannam@141 21 Vamp Ontology. This ontology includes the following descriptions:
cannam@136 22
cannam@141 23 - OWL description of the Vamp API
cannam@141 24 - OWL description of the Transform environment necessary to set up the execution of any plugin
cannam@136 25
cannam@136 26 This Ontology provides semantics to describe and control Vamp plugins in RDF. Any "RDF-speaker" host is therefore able to
cannam@136 27 use this ontology to read, set up and execute plugins.
cannam@141 28 The extracted features are expressed in terms of the Audio Features Ontology: http://purl.org/ontology/af/.
cannam@141 29 For more information, please visit the Vamp Plugins website: http://www.vamp-plugins.org/
cannam@135 30 """;
cannam@135 31 foaf:maker "Chris Cannam";
cannam@135 32 foaf:maker "Chris Sutton";
cannam@135 33 foaf:maker "Yves Raimond";
cannam@135 34 foaf:maker "David Pastor Escuredo";
cannam@135 35 dc:date "$Date: 2008/05/21 17:05:11 $";
cannam@135 36 .
cannam@135 37
cannam@135 38 vs:term_status a owl:AnnotationProperty.
cannam@135 39
cannam@135 40 #Authors foaf
cannam@135 41
cannam@135 42 #############################################
cannam@141 43 # Part 1: Describing a Vamp plugin
cannam@135 44 #############################################
cannam@135 45
cannam@136 46 #########################################
cannam@136 47 # CLASSES
cannam@136 48 #########################################
cannam@136 49
cannam@141 50 # Note: we don't include a Feature concept because we rely on the Audio Feature ontology
cannam@141 51 # Note: we additionally define a Transform concept to link the running context
cannam@135 52
cannam@135 53 vamp:Plugin
cannam@135 54 a owl:Class;
cannam@135 55 rdfs:label "Vamp Plugin";
cannam@135 56 rdfs:comment """
cannam@141 57 A Vamp plugin is an implementation of an audio feature extraction algorithm using the Vamp API.
cannam@135 58 """;
cannam@135 59 vs:term_status "stable";
cannam@135 60 .
cannam@135 61
cannam@135 62 vamp:PluginLibrary
cannam@135 63 a owl:Class;
cannam@135 64 rdfs:label "Vamp Plugin Library";
cannam@135 65 rdfs:comment """
cannam@141 66 Library of Vamp Plugins. This may need to include rights.
cannam@135 67 """;
cannam@135 68 vs:term_status "stable";
cannam@135 69 .
cannam@135 70
cannam@135 71 vamp:ParameterDescriptor
cannam@135 72 a owl:Class;
cannam@135 73 rdfs:label "Vamp Plugin Parameter Descriptor";
cannam@135 74 rdfs:comment """
cannam@141 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.
cannam@135 76 """;
cannam@135 77 vs:term_status "stable";
cannam@135 78 .
cannam@135 79
cannam@135 80 vamp:PluginOutput
cannam@135 81 a owl:Class;
cannam@135 82 rdfs:label "Vamp Plugin output descriptor";
cannam@135 83 rdfs:comment """
cannam@141 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.
cannam@135 85 """;
cannam@135 86 vs:term_status "unstable";
cannam@135 87 .
cannam@135 88
cannam@135 89 vamp:DenseOutput
cannam@135 90 a owl:Class;
cannam@135 91 rdfs:subClassOf vamp:PluginOutput;
cannam@136 92 rdfs:label "Dense output";
cannam@135 93 rdfs:comment """
cannam@141 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.
cannam@135 95 """;
cannam@135 96 vs:term_status "unstable";
cannam@135 97 .
cannam@135 98
cannam@135 99 vamp:SparseOutput
cannam@135 100 a owl:Class;
cannam@136 101 rdfs:label "Sparse output";
cannam@135 102 rdfs:subClassOf vamp:PluginOutput;
cannam@135 103 rdfs:comment """
cannam@141 104 Specific output type for data that consist of features that require their own individual temporal information.
cannam@135 105 """;
cannam@135 106 vs:term_status "unstable";
cannam@135 107 .
cannam@135 108
cannam@135 109 vamp:TrackLevelOutput
cannam@135 110 a owl:Class;
cannam@136 111 rdfs:label "track level output";
cannam@135 112 rdfs:subClassOf vamp:PluginOutput;
cannam@135 113 rdfs:comment """
cannam@141 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.
cannam@135 115 """;
cannam@135 116 vs:term_status "unstable";
cannam@135 117 .
cannam@135 118
cannam@135 119 vamp:PluginProgram
cannam@135 120 a owl:Class;
cannam@135 121 rdfs:label "Plugin program";
cannam@135 122 rdfs:comment """
cannam@141 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.
cannam@135 124 """;
cannam@136 125 vs:term_status "unstable";
cannam@135 126 .
cannam@135 127
cannam@135 128 vamp:Feature
cannam@135 129 a owl:Class;
cannam@135 130 rdfs:label "Vamp Feature";
cannam@135 131 rdfs:comment "This may be removed mighty soon as we rely on the Audio Features Ontology for this";
cannam@135 132 vs:term_status "deprecated";
cannam@135 133 .
cannam@135 134
cannam@141 135 # Classes for enumerations in the Vamp API
cannam@135 136
cannam@135 137 vamp:InputDomain
cannam@135 138 a owl:Class;
cannam@135 139 rdfs:label "Plugin input domain";
cannam@136 140 rdfs:comment """
cannam@141 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.
cannam@136 142 """;
cannam@135 143 vs:term_status "stable";
cannam@135 144 .
cannam@135 145
cannam@135 146 vamp:SampleType
cannam@135 147 a owl:Class;
cannam@135 148 rdfs:label "sample type";
cannam@136 149 rdfs:comment """
cannam@141 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.
cannam@136 151 """;
cannam@135 152 vs:term_status "stable";
cannam@135 153 .
cannam@135 154
cannam@135 155 ##################################################################
cannam@136 156 # PROPERTIES.
cannam@135 157 ##################################################################
cannam@135 158
cannam@135 159 ##### Plugin properties
cannam@135 160
cannam@135 161 vamp:parameter_descriptor
cannam@135 162 a rdf:Property;
cannam@135 163 a owl:ObjectProperty;
cannam@135 164 rdfs:label "parameter descriptor";
cannam@135 165 rdfs:comment """
cannam@141 166 Links each parameter descriptor to the plugin.
cannam@135 167 """;
cannam@135 168 rdfs:range vamp:ParameterDescriptor;
cannam@135 169 rdfs:domain vamp:Plugin;
cannam@135 170 vs:term_status "stable";
cannam@135 171 .
cannam@135 172
cannam@135 173 vamp:output_descriptor
cannam@135 174 a rdf:Property;
cannam@135 175 a owl:ObjectProperty;
cannam@135 176 rdfs:label "output descriptor";
cannam@135 177 rdfs:comment """
cannam@141 178 Links each output type to the plugin.
cannam@135 179 """;
cannam@135 180 rdfs:range vamp:PluginOutput;
cannam@135 181 rdfs:domain vamp:Plugin;
cannam@135 182 vs:term_status "stable";
cannam@135 183 .
cannam@135 184
cannam@136 185 ##### Plugin Library properties (could include affiliation, rights...)
cannam@135 186
cannam@135 187 vamp:available_plugin
cannam@135 188 a rdf:Property;
cannam@135 189 a owl:ObjectProperty;
cannam@135 190 rdfs:label "available plugin";
cannam@135 191 rdfs:comment """
cannam@141 192 Available plugins in the library
cannam@135 193 """;
cannam@135 194 rdfs:range vamp:Plugin;
cannam@135 195 rdfs:domain vamp:PluginLibrary;
cannam@135 196 vs:term_status "stable";
cannam@135 197 .
cannam@135 198
cannam@136 199 #### Plugin Descriptor properties
cannam@135 200
cannam@135 201 vamp:identifier
cannam@135 202 a rdf:Property;
cannam@135 203 a owl:DatatypeProperty;
cannam@135 204 rdfs:label "plugin identifier";
cannam@135 205 rdfs:comment """
cannam@141 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.
cannam@135 207 """;
cannam@138 208 rdfs:domain vamp:Plugin;
cannam@143 209 rdfs:domain vamp:PluginLibrary;
cannam@135 210 rdfs:domain vamp:PluginProgram;
cannam@135 211 rdfs:domain vamp:PluginOutput;
cannam@135 212 rdfs:domain vamp:ParameterDescriptor;
cannam@135 213 vs:term_status "stable";
cannam@135 214 .
cannam@135 215
cannam@135 216 vamp:name
cannam@135 217 a rdf:Property;
cannam@135 218 a owl:DatatypeProperty;
cannam@135 219 rdfs:label "plugin name";
cannam@135 220 rdfs:comment """
cannam@135 221 Human-readable identifier for the plugin.
cannam@135 222 """;
cannam@138 223 rdfs:domain vamp:Plugin;
cannam@135 224 vs:term_status "stable";
cannam@135 225 .
cannam@135 226
cannam@135 227 vamp:vamp_API_version
cannam@135 228 a rdf:Property;
cannam@135 229 a owl:DatatypeProperty;
cannam@135 230 rdfs:label "vamp API version";
cannam@135 231 rdfs:comment """
cannam@141 232 Version of the Vamp API used to implement this plugin.
cannam@135 233 """;
cannam@138 234 rdfs:domain vamp:Plugin;
cannam@135 235 vs:term_status "stable";
cannam@135 236 .
cannam@135 237
cannam@135 238 vamp:input_domain
cannam@135 239 a rdf:Property;
cannam@135 240 a owl:DatatypeProperty;
cannam@135 241 rdfs:label "input domain";
cannam@135 242 rdfs:comment """
cannam@141 243 Input domain required by the plugin (time or frequency).
cannam@135 244 """;
cannam@135 245 rdfs:domain vamp:Plugin;
cannam@135 246 rdfs:range vamp:InputDomain;
cannam@135 247 vs:term_status "stable";
cannam@135 248 .
cannam@135 249
cannam@141 250 # Note that other properties like maker can be linked to the plugin descriptor using other namespaces
cannam@135 251
cannam@135 252 ##### Parameter Descriptor properties
cannam@135 253
cannam@141 254 # Note: Identifier has been already defined
cannam@135 255
cannam@135 256 vamp:max_value
cannam@135 257 a rdf:Property;
cannam@135 258 a owl:DatatypeProperty;
cannam@135 259 a owl:FunctionalProperty;
cannam@135 260 rdfs:label "max value";
cannam@136 261 rdfs:comment """
cannam@136 262 Maximum value of the parameter range
cannam@136 263 """;
cannam@135 264 rdfs:range vamp:ParameterDescriptor;
cannam@135 265 rdfs:range vamp:PluginOutput;
cannam@135 266 vs:term_status "unstable";
cannam@135 267 .
cannam@135 268
cannam@135 269 vamp:min_value
cannam@135 270 a rdf:Property;
cannam@135 271 a owl:DatatypeProperty;
cannam@135 272 a owl:FunctionalProperty;
cannam@135 273 rdfs:label "min value";
cannam@136 274 rdfs:comment """
cannam@136 275 Minimum value of the parameter range
cannam@136 276 """;
cannam@135 277 rdfs:range vamp:ParameterDescriptor;
cannam@135 278 rdfs:range vamp:PluginOutput;
cannam@135 279 vs:term_status "unstable";
cannam@135 280 .
cannam@135 281
cannam@135 282 vamp:default_value
cannam@135 283 a rdf:Property;
cannam@135 284 a owl:DatatypeProperty;
cannam@135 285 a owl:FunctionalProperty;
cannam@135 286 rdfs:label "default value";
cannam@136 287 rdfs:comment """
cannam@136 288 Default value of the parameter
cannam@136 289 """;
cannam@135 290 rdfs:range vamp:ParameterDescriptor;
cannam@135 291 vs:term_status "unstable";
cannam@135 292 .
cannam@135 293
cannam@135 294 ########Output Descriptor properties
cannam@135 295
cannam@135 296 vamp:fixed_bin_count
cannam@135 297 a rdf:Property;
cannam@135 298 a owl:DatatypeProperty;
cannam@135 299 rdfs:label "fixed bin count";
cannam@136 300 rdfs:comment """
cannam@136 301 Fixed bin count. A boolean type.
cannam@136 302 """;
cannam@135 303 rdfs:domain vamp:PluginOutput;
cannam@135 304 vs:term_status "unstable";
cannam@135 305 .
cannam@135 306
cannam@138 307 vamp:is_quantized
cannam@138 308 a rdf:Property;
cannam@138 309 a owl:DatatypeProperty;
cannam@138 310 rdfs:label "is quantised";
cannam@138 311 rdfs:comment """
cannam@138 312 Quantised. A boolean type.
cannam@138 313 """;
cannam@138 314 rdfs:domain vamp:PluginOutput;
cannam@138 315 vs:term_status "unstable";
cannam@138 316 .
cannam@138 317
cannam@135 318 vamp:unit
cannam@135 319 a rdf:Property;
cannam@135 320 a owl:DatatypeProperty;
cannam@135 321 a owl:FunctionalProperty;
cannam@135 322 rdfs:label "unit";
cannam@136 323 rdfs:comment """
cannam@136 324 Unit of the output/parameter. A string type
cannam@136 325 """;
cannam@135 326 rdfs:domain vamp:PluginOutput;
cannam@135 327 rdfs:domain vamp:ParameterDescriptor;
cannam@135 328 vs:term_status "unstable";
cannam@135 329 .
cannam@135 330
cannam@135 331 vamp:sample_rate
cannam@135 332 a rdf:Property;
cannam@135 333 a owl:DatatypeProperty;
cannam@135 334 rdfs:label "sample rate";
cannam@136 335 rdfs:comment """
cannam@136 336 Sample rate of the output if any. Should be read depending on SampleType and Output classes.
cannam@136 337 """;
cannam@135 338 rdfs:domain vamp:PluginOutput;
cannam@135 339 vs:term_status "unstable";
cannam@135 340 .
cannam@135 341
cannam@138 342 vamp:quantize_step
cannam@135 343 a rdf:Property;
cannam@135 344 a owl:FunctionalProperty;
cannam@135 345 a owl:DatatypeProperty;
cannam@135 346 rdfs:label "quantized step";
cannam@136 347 rdfs:comment """
cannam@138 348 Quantize step. Only defined if is_quantised is true
cannam@136 349 """;
cannam@135 350 rdfs:domain vamp:PluginOutput;
cannam@135 351 rdfs:domain vamp:ParameterDescriptor;
cannam@135 352 vs:term_status "unstable";
cannam@135 353 .
cannam@135 354
cannam@135 355 vamp:bin_count
cannam@135 356 a rdf:Property;
cannam@135 357 a owl:DatatypeProperty;
cannam@135 358 rdfs:label "bin count";
cannam@136 359 rdfs:comment """
cannam@136 360 Number of elements of the bin output. This information is necessary to define the output as belonging to a specific subclass of Plugin Output.
cannam@136 361 """;
cannam@135 362 rdfs:domain vamp:PluginOutput;
cannam@135 363 vs:term_status "unstable";
cannam@135 364 .
cannam@135 365
cannam@135 366 vamp:bin_names
cannam@135 367 a rdf:Property;
cannam@135 368 a owl:DatatypeProperty;
cannam@135 369 rdfs:label "bin names";
cannam@136 370 rdfs:comment """
cannam@136 371 List of bin names if available
cannam@136 372 """;
cannam@135 373 rdfs:domain vamp:PluginOutput;
cannam@135 374 vs:term_status "unstable";
cannam@135 375 .
cannam@135 376
cannam@135 377 vamp:sample_type
cannam@135 378 a rdf:Property;
cannam@135 379 a owl:DatatypeProperty;
cannam@135 380 a owl:FunctionalProperty;
cannam@135 381 rdfs:label "sample type";
cannam@136 382 rdfs:comment """
cannam@136 383 The sample type specifies the temporal information of the output.
cannam@136 384 """;
cannam@135 385 rdfs:domain vamp:PluginOutput;
cannam@135 386 rdfs:range vamp:SampleType;
cannam@135 387 vs:term_status "unstable";
cannam@135 388 .
cannam@135 389
cannam@135 390 vamp:computes_feature_type
cannam@135 391 a rdf:Property;
cannam@135 392 a owl:ObjectProperty;
cannam@135 393 rdfs:label "feature type";
cannam@135 394 rdfs:comment """
cannam@136 395 Feature Types output by the plugin. Links the vamp ontology to the audio features ontology.
cannam@135 396 """;
cannam@135 397 rdfs:domain vamp:PluginOutput;
cannam@136 398 rdfs:range af:AudioFeature;
cannam@135 399 vs:term_status "unstable";
cannam@135 400 .
cannam@138 401
cannam@138 402 vamp:computes_event_type
cannam@138 403 a rdf:Property;
cannam@138 404 a owl:ObjectProperty;
cannam@138 405 rdfs:label "event type";
cannam@138 406 rdfs:comment """
cannam@138 407 Event Type output by the plugin.
cannam@138 408 """;
cannam@138 409 rdfs:domain vamp:PluginOutput;
cannam@138 410 rdfs:range event:Event;
cannam@138 411 vs:term_status "unstable";
cannam@138 412 .
cannam@135 413
cannam@135 414 ########################
cannam@135 415 # INDIVIDUALS
cannam@135 416 ########################
cannam@135 417
cannam@138 418 vamp:TimeDomain
cannam@135 419 a vamp:InputDomain;
cannam@135 420 .
cannam@135 421
cannam@138 422 vamp:FrequencyDomain
cannam@135 423 a vamp:InputDomain;
cannam@135 424 .
cannam@135 425
cannam@135 426 vamp:OneSamplePerStep
cannam@135 427 a vamp:SampleType;
cannam@135 428 .
cannam@135 429
cannam@135 430 vamp:FixedSampleRate
cannam@135 431 a vamp:SampleType;
cannam@135 432 .
cannam@135 433
cannam@135 434 vamp:VariableSampleRate
cannam@135 435 a vamp:SampleType;
cannam@135 436 .
cannam@135 437
cannam@135 438 ################################################### END OF THE VAMP API DESCRIPTION ############################################################
cannam@135 439
cannam@135 440
cannam@135 441 #############################################
cannam@141 442 # Part 2: Classes to describe plugin execution. TRANSFORM
cannam@135 443 #############################################
cannam@135 444
cannam@141 445 # Note: we need to define this part of the ontology to give a minimun common standard for hosts.
cannam@141 446 # Note: this may split up in some other ontology or become part of the DSP namespace
cannam@135 447
cannam@135 448 vamp:Transform
cannam@135 449 a owl:Class;
cannam@136 450 rdfs:label "Transform";
cannam@135 451 vs:term_status "stable";
cannam@135 452 rdfs:comment """
cannam@141 453 The Transform defines the environment of any audio processing computation.
cannam@135 454 """;
cannam@135 455 .
cannam@135 456
cannam@135 457 vamp:Parameter
cannam@135 458 a owl:Class;
cannam@135 459 rdfs:label "Parameter";
cannam@135 460 vs:term_status "unstable";
cannam@135 461 rdfs:comment """
cannam@141 462 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.
cannam@136 463 """;
cannam@136 464 .
cannam@136 465
cannam@136 466 vamp:Configuration
cannam@136 467 a owl:Class;
cannam@136 468 rdfs:label "Configuration";
cannam@136 469 vs:term_status "unstable";
cannam@136 470 rdfs:comment """
cannam@141 471 For extension (key/value data provided to DSSI plugins, not relevant to Vamp)
cannam@136 472 """;
cannam@136 473 .
cannam@136 474
cannam@136 475 vamp:TransformType
cannam@136 476 a owl:Class;
cannam@136 477 rdfs:label "Transform Type";
cannam@136 478 vs:term_status "unstable";
cannam@136 479 rdfs:comment """
cannam@136 480 Specifies the type of transform. May be feature extraction, effect...
cannam@136 481 """;
cannam@136 482 .
cannam@136 483
cannam@141 484 ##individuals of transformtype
cannam@136 485 vamp:FeatureExtraction
cannam@136 486 a vamp:TransformType;
cannam@136 487 rdfs:label "Feature Extraction";
cannam@136 488 vs:term_status "unstable";
cannam@136 489 rdfs:comment """
cannam@136 490 Feature extraction transform. This may be just a subclass of Transform...
cannam@136 491 """;
cannam@136 492 .
cannam@136 493
cannam@136 494 vamp:Effect
cannam@136 495 a vamp:TransformType;
cannam@136 496 rdfs:label "Effect";
cannam@136 497 vs:term_status "unstable";
cannam@136 498 rdfs:comment """
cannam@136 499 Effect transform. This may be just a subclass of Transform...
cannam@135 500 """;
cannam@135 501 .
cannam@135 502
cannam@135 503 ################
cannam@135 504 # Properties
cannam@135 505 ################
cannam@135 506
cannam@135 507 ##### Plugin Transform properties
cannam@135 508
cannam@136 509 vamp:identifier
cannam@136 510 rdfs:domain vamp:Transform;
cannam@136 511 #the ID is the plugin ID?
cannam@136 512 .
cannam@136 513
cannam@136 514 vamp:engine
cannam@135 515 a rdf:Property;
cannam@135 516 a owl:ObjectProperty;
cannam@135 517 rdfs:label "plugin";
cannam@135 518 vs:term_status "stable";
cannam@135 519 rdfs:comment """
cannam@141 520 Specifies the sort of plugin in execution. This is an extension to use Transform with other plugin libraries
cannam@135 521 """;
cannam@136 522 rdfs:domain vamp:Transform;
cannam@135 523 rdfs:range vamp:Plugin;
cannam@135 524 .
cannam@135 525
cannam@135 526 vamp:program
cannam@135 527 a rdf:Property;
cannam@135 528 a owl:ObjectProperty;
cannam@135 529 a owl:FunctionalProperty;
cannam@135 530 rdfs:label "program";
cannam@135 531 vs:term_status "stable";
cannam@135 532 rdfs:comment """
cannam@141 533 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?
cannam@135 534 """;
cannam@135 535 rdfs:domain vamp:Transform;
cannam@135 536 rdfs:range vamp:PluginProgram;
cannam@135 537 .
cannam@135 538
cannam@136 539 vamp:program
cannam@136 540 a rdf:Property;
cannam@136 541 a owl:ObjectProperty;
cannam@136 542 a owl:FunctionalProperty;
cannam@136 543 rdfs:label "program";
cannam@136 544 vs:term_status "stable";
cannam@136 545 rdfs:comment """
cannam@141 546 Extension for configuration.
cannam@136 547 """;
cannam@136 548 rdfs:domain vamp:Transform;
cannam@136 549 rdfs:range vamp:Configuration;
cannam@136 550 .
cannam@136 551
cannam@135 552 vamp:parameter
cannam@135 553 a rdf:Property;
cannam@135 554 a owl:ObjectProperty;
cannam@135 555 rdfs:label "parameter";
cannam@135 556 vs:term_status "stable";
cannam@135 557 rdfs:comment """
cannam@135 558 Specifies the parameter to set the plugin in execution.
cannam@135 559 """;
cannam@136 560 rdfs:domain vamp:Transform;
cannam@135 561 rdfs:range vamp:Parameter;
cannam@135 562 .
cannam@135 563
cannam@135 564 vamp:step_size
cannam@135 565 a rdf:Property;
cannam@135 566 a owl:DatatypeProperty;
cannam@135 567 a owl:FunctionalProperty;
cannam@135 568 rdfs:label "step size";
cannam@135 569 vs:term_status "stable";
cannam@135 570 rdfs:comment """
cannam@135 571 Specifies the step size for the framing.
cannam@135 572 """;
cannam@136 573 rdfs:domain vamp:Transform;
cannam@135 574 .
cannam@135 575
cannam@135 576 vamp:block_size
cannam@135 577 a rdf:Property;
cannam@135 578 a owl:DatatypeProperty;
cannam@135 579 a owl:FunctionalProperty;
cannam@135 580 rdfs:label "block size";
cannam@135 581 vs:term_status "stable";
cannam@135 582 rdfs:comment """
cannam@135 583 Specifies the block size for the framing.
cannam@135 584 """;
cannam@136 585 rdfs:domain vamp:Transform;
cannam@135 586 .
cannam@135 587
cannam@135 588 vamp:sample_rate
cannam@135 589 a rdf:Property;
cannam@135 590 a owl:DatatypeProperty;
cannam@135 591 a owl:FunctionalProperty;
cannam@135 592 rdfs:label "sample rate";
cannam@135 593 vs:term_status "stable";
cannam@135 594 rdfs:comment """
cannam@135 595 Specifies the sample rate if it is not constant.
cannam@135 596 """;
cannam@136 597 rdfs:domain vamp:Transform;
cannam@135 598 .
cannam@135 599
cannam@135 600 vamp:transform_type
cannam@135 601 a rdf:Property;
cannam@136 602 a owl:ObjectProperty;
cannam@135 603 a owl:FunctionalProperty;
cannam@135 604 rdfs:label "transform type";
cannam@135 605 vs:term_status "unstable";
cannam@135 606 rdfs:comment """
cannam@136 607 Specifies the transform type (we could do this by subclassin transform instead of using a property).
cannam@135 608 """;
cannam@136 609 rdfs:domain vamp:Transform;
cannam@135 610 .
cannam@135 611
cannam@135 612 vamp:window_type
cannam@135 613 a rdf:Property;
cannam@135 614 a owl:DatatypeProperty;
cannam@135 615 a owl:FunctionalProperty;
cannam@135 616 rdfs:label "window type";
cannam@135 617 vs:term_status "unstable";
cannam@135 618 rdfs:comment """
cannam@135 619 Specifies the window type (they should be individuals and clearly not here).
cannam@135 620 """;
cannam@136 621 rdfs:domain vamp:Transform;
cannam@135 622 .
cannam@135 623
cannam@136 624 vamp:start
cannam@136 625 a rdf:Property;
cannam@136 626 a owl:DatatypeProperty;
cannam@136 627 a owl:FunctionalProperty;
cannam@136 628 rdfs:label "start";
cannam@136 629 vs:term_status "unstable";
cannam@136 630 rdfs:comment """
cannam@136 631 Specifies temporal information when processing a data stream.
cannam@136 632 """;
cannam@136 633 rdfs:domain vamp:Transform;
cannam@136 634 .
cannam@136 635
cannam@136 636 vamp:duration
cannam@136 637 a rdf:Property;
cannam@136 638 a owl:DatatypeProperty;
cannam@136 639 a owl:FunctionalProperty;
cannam@136 640 rdfs:label "start";
cannam@136 641 vs:term_status "unstable";
cannam@136 642 rdfs:comment """
cannam@136 643 Specifies temporal information when processing a data stream.
cannam@136 644 """;
cannam@136 645 rdfs:domain vamp:Transform;
cannam@136 646 .
cannam@136 647
cannam@135 648 ##### Parameter properties
cannam@135 649
cannam@135 650 vamp:value
cannam@135 651 a rdf:Property;
cannam@135 652 a owl:DatatypeProperty;
cannam@135 653 a owl:FunctionalProperty;
cannam@135 654 rdfs:label "value";
cannam@135 655 vs:term_status "stable";
cannam@135 656 rdfs:comment """
cannam@135 657 Specifies the current value of the parameter.
cannam@135 658 """;
cannam@135 659 rdfs:domain vamp:Parameter;
cannam@135 660 .
cannam@135 661
cannam@135 662 vamp:parameter_descriptor
cannam@135 663 a rdf:Property;
cannam@135 664 a owl:ObjectProperty;
cannam@135 665 rdfs:label "parameter descriptor";
cannam@135 666 vs:term_status "stable";
cannam@135 667 rdfs:comment """
cannam@135 668 Specifies exactly the type of descriptor to set in the transform by linking it.
cannam@135 669 """;
cannam@135 670 rdfs:domain vamp:Parameter;
cannam@135 671 rdfs:range vamp:ParameterDescriptor;
cannam@135 672 .
cannam@135 673
cannam@135 674
cannam@135 675
cannam@135 676