annotate 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
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@135 209 rdfs:domain vamp:PluginProgram;
cannam@135 210 rdfs:domain vamp:PluginOutput;
cannam@135 211 rdfs:domain vamp:ParameterDescriptor;
cannam@135 212 vs:term_status "stable";
cannam@135 213 .
cannam@135 214
cannam@135 215 vamp:name
cannam@135 216 a rdf:Property;
cannam@135 217 a owl:DatatypeProperty;
cannam@135 218 rdfs:label "plugin name";
cannam@135 219 rdfs:comment """
cannam@135 220 Human-readable identifier for the plugin.
cannam@135 221 """;
cannam@138 222 rdfs:domain vamp:Plugin;
cannam@135 223 vs:term_status "stable";
cannam@135 224 .
cannam@135 225
cannam@135 226 vamp:vamp_API_version
cannam@135 227 a rdf:Property;
cannam@135 228 a owl:DatatypeProperty;
cannam@135 229 rdfs:label "vamp API version";
cannam@135 230 rdfs:comment """
cannam@141 231 Version of the Vamp API used to implement this plugin.
cannam@135 232 """;
cannam@138 233 rdfs:domain vamp:Plugin;
cannam@135 234 vs:term_status "stable";
cannam@135 235 .
cannam@135 236
cannam@135 237 vamp:input_domain
cannam@135 238 a rdf:Property;
cannam@135 239 a owl:DatatypeProperty;
cannam@135 240 rdfs:label "input domain";
cannam@135 241 rdfs:comment """
cannam@141 242 Input domain required by the plugin (time or frequency).
cannam@135 243 """;
cannam@135 244 rdfs:domain vamp:Plugin;
cannam@135 245 rdfs:range vamp:InputDomain;
cannam@135 246 vs:term_status "stable";
cannam@135 247 .
cannam@135 248
cannam@141 249 # Note that other properties like maker can be linked to the plugin descriptor using other namespaces
cannam@135 250
cannam@135 251 ##### Parameter Descriptor properties
cannam@135 252
cannam@141 253 # Note: Identifier has been already defined
cannam@135 254
cannam@135 255 vamp:max_value
cannam@135 256 a rdf:Property;
cannam@135 257 a owl:DatatypeProperty;
cannam@135 258 a owl:FunctionalProperty;
cannam@135 259 rdfs:label "max value";
cannam@136 260 rdfs:comment """
cannam@136 261 Maximum value of the parameter range
cannam@136 262 """;
cannam@135 263 rdfs:range vamp:ParameterDescriptor;
cannam@135 264 rdfs:range vamp:PluginOutput;
cannam@135 265 vs:term_status "unstable";
cannam@135 266 .
cannam@135 267
cannam@135 268 vamp:min_value
cannam@135 269 a rdf:Property;
cannam@135 270 a owl:DatatypeProperty;
cannam@135 271 a owl:FunctionalProperty;
cannam@135 272 rdfs:label "min value";
cannam@136 273 rdfs:comment """
cannam@136 274 Minimum value of the parameter range
cannam@136 275 """;
cannam@135 276 rdfs:range vamp:ParameterDescriptor;
cannam@135 277 rdfs:range vamp:PluginOutput;
cannam@135 278 vs:term_status "unstable";
cannam@135 279 .
cannam@135 280
cannam@135 281 vamp:default_value
cannam@135 282 a rdf:Property;
cannam@135 283 a owl:DatatypeProperty;
cannam@135 284 a owl:FunctionalProperty;
cannam@135 285 rdfs:label "default value";
cannam@136 286 rdfs:comment """
cannam@136 287 Default value of the parameter
cannam@136 288 """;
cannam@135 289 rdfs:range vamp:ParameterDescriptor;
cannam@135 290 vs:term_status "unstable";
cannam@135 291 .
cannam@135 292
cannam@135 293 ########Output Descriptor properties
cannam@135 294
cannam@135 295 vamp:fixed_bin_count
cannam@135 296 a rdf:Property;
cannam@135 297 a owl:DatatypeProperty;
cannam@135 298 rdfs:label "fixed bin count";
cannam@136 299 rdfs:comment """
cannam@136 300 Fixed bin count. A boolean type.
cannam@136 301 """;
cannam@135 302 rdfs:domain vamp:PluginOutput;
cannam@135 303 vs:term_status "unstable";
cannam@135 304 .
cannam@135 305
cannam@138 306 vamp:is_quantized
cannam@138 307 a rdf:Property;
cannam@138 308 a owl:DatatypeProperty;
cannam@138 309 rdfs:label "is quantised";
cannam@138 310 rdfs:comment """
cannam@138 311 Quantised. A boolean type.
cannam@138 312 """;
cannam@138 313 rdfs:domain vamp:PluginOutput;
cannam@138 314 vs:term_status "unstable";
cannam@138 315 .
cannam@138 316
cannam@135 317 vamp:unit
cannam@135 318 a rdf:Property;
cannam@135 319 a owl:DatatypeProperty;
cannam@135 320 a owl:FunctionalProperty;
cannam@135 321 rdfs:label "unit";
cannam@136 322 rdfs:comment """
cannam@136 323 Unit of the output/parameter. A string type
cannam@136 324 """;
cannam@135 325 rdfs:domain vamp:PluginOutput;
cannam@135 326 rdfs:domain vamp:ParameterDescriptor;
cannam@135 327 vs:term_status "unstable";
cannam@135 328 .
cannam@135 329
cannam@135 330 vamp:sample_rate
cannam@135 331 a rdf:Property;
cannam@135 332 a owl:DatatypeProperty;
cannam@135 333 rdfs:label "sample rate";
cannam@136 334 rdfs:comment """
cannam@136 335 Sample rate of the output if any. Should be read depending on SampleType and Output classes.
cannam@136 336 """;
cannam@135 337 rdfs:domain vamp:PluginOutput;
cannam@135 338 vs:term_status "unstable";
cannam@135 339 .
cannam@135 340
cannam@138 341 vamp:quantize_step
cannam@135 342 a rdf:Property;
cannam@135 343 a owl:FunctionalProperty;
cannam@135 344 a owl:DatatypeProperty;
cannam@135 345 rdfs:label "quantized step";
cannam@136 346 rdfs:comment """
cannam@138 347 Quantize step. Only defined if is_quantised is true
cannam@136 348 """;
cannam@135 349 rdfs:domain vamp:PluginOutput;
cannam@135 350 rdfs:domain vamp:ParameterDescriptor;
cannam@135 351 vs:term_status "unstable";
cannam@135 352 .
cannam@135 353
cannam@135 354 vamp:bin_count
cannam@135 355 a rdf:Property;
cannam@135 356 a owl:DatatypeProperty;
cannam@135 357 rdfs:label "bin count";
cannam@136 358 rdfs:comment """
cannam@136 359 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 360 """;
cannam@135 361 rdfs:domain vamp:PluginOutput;
cannam@135 362 vs:term_status "unstable";
cannam@135 363 .
cannam@135 364
cannam@135 365 vamp:bin_names
cannam@135 366 a rdf:Property;
cannam@135 367 a owl:DatatypeProperty;
cannam@135 368 rdfs:label "bin names";
cannam@136 369 rdfs:comment """
cannam@136 370 List of bin names if available
cannam@136 371 """;
cannam@135 372 rdfs:domain vamp:PluginOutput;
cannam@135 373 vs:term_status "unstable";
cannam@135 374 .
cannam@135 375
cannam@135 376 vamp:sample_type
cannam@135 377 a rdf:Property;
cannam@135 378 a owl:DatatypeProperty;
cannam@135 379 a owl:FunctionalProperty;
cannam@135 380 rdfs:label "sample type";
cannam@136 381 rdfs:comment """
cannam@136 382 The sample type specifies the temporal information of the output.
cannam@136 383 """;
cannam@135 384 rdfs:domain vamp:PluginOutput;
cannam@135 385 rdfs:range vamp:SampleType;
cannam@135 386 vs:term_status "unstable";
cannam@135 387 .
cannam@135 388
cannam@135 389 vamp:computes_feature_type
cannam@135 390 a rdf:Property;
cannam@135 391 a owl:ObjectProperty;
cannam@135 392 rdfs:label "feature type";
cannam@135 393 rdfs:comment """
cannam@136 394 Feature Types output by the plugin. Links the vamp ontology to the audio features ontology.
cannam@135 395 """;
cannam@135 396 rdfs:domain vamp:PluginOutput;
cannam@136 397 rdfs:range af:AudioFeature;
cannam@135 398 vs:term_status "unstable";
cannam@135 399 .
cannam@138 400
cannam@138 401 vamp:computes_event_type
cannam@138 402 a rdf:Property;
cannam@138 403 a owl:ObjectProperty;
cannam@138 404 rdfs:label "event type";
cannam@138 405 rdfs:comment """
cannam@138 406 Event Type output by the plugin.
cannam@138 407 """;
cannam@138 408 rdfs:domain vamp:PluginOutput;
cannam@138 409 rdfs:range event:Event;
cannam@138 410 vs:term_status "unstable";
cannam@138 411 .
cannam@135 412
cannam@135 413 ########################
cannam@135 414 # INDIVIDUALS
cannam@135 415 ########################
cannam@135 416
cannam@138 417 vamp:TimeDomain
cannam@135 418 a vamp:InputDomain;
cannam@135 419 .
cannam@135 420
cannam@138 421 vamp:FrequencyDomain
cannam@135 422 a vamp:InputDomain;
cannam@135 423 .
cannam@135 424
cannam@135 425 vamp:OneSamplePerStep
cannam@135 426 a vamp:SampleType;
cannam@135 427 .
cannam@135 428
cannam@135 429 vamp:FixedSampleRate
cannam@135 430 a vamp:SampleType;
cannam@135 431 .
cannam@135 432
cannam@135 433 vamp:VariableSampleRate
cannam@135 434 a vamp:SampleType;
cannam@135 435 .
cannam@135 436
cannam@135 437 ################################################### END OF THE VAMP API DESCRIPTION ############################################################
cannam@135 438
cannam@135 439
cannam@135 440 #############################################
cannam@141 441 # Part 2: Classes to describe plugin execution. TRANSFORM
cannam@135 442 #############################################
cannam@135 443
cannam@141 444 # Note: we need to define this part of the ontology to give a minimun common standard for hosts.
cannam@141 445 # Note: this may split up in some other ontology or become part of the DSP namespace
cannam@135 446
cannam@135 447 vamp:Transform
cannam@135 448 a owl:Class;
cannam@136 449 rdfs:label "Transform";
cannam@135 450 vs:term_status "stable";
cannam@135 451 rdfs:comment """
cannam@141 452 The Transform defines the environment of any audio processing computation.
cannam@135 453 """;
cannam@135 454 .
cannam@135 455
cannam@135 456 vamp:Parameter
cannam@135 457 a owl:Class;
cannam@135 458 rdfs:label "Parameter";
cannam@135 459 vs:term_status "unstable";
cannam@135 460 rdfs:comment """
cannam@141 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.
cannam@136 462 """;
cannam@136 463 .
cannam@136 464
cannam@136 465 vamp:Configuration
cannam@136 466 a owl:Class;
cannam@136 467 rdfs:label "Configuration";
cannam@136 468 vs:term_status "unstable";
cannam@136 469 rdfs:comment """
cannam@141 470 For extension (key/value data provided to DSSI plugins, not relevant to Vamp)
cannam@136 471 """;
cannam@136 472 .
cannam@136 473
cannam@136 474 vamp:TransformType
cannam@136 475 a owl:Class;
cannam@136 476 rdfs:label "Transform Type";
cannam@136 477 vs:term_status "unstable";
cannam@136 478 rdfs:comment """
cannam@136 479 Specifies the type of transform. May be feature extraction, effect...
cannam@136 480 """;
cannam@136 481 .
cannam@136 482
cannam@141 483 ##individuals of transformtype
cannam@136 484 vamp:FeatureExtraction
cannam@136 485 a vamp:TransformType;
cannam@136 486 rdfs:label "Feature Extraction";
cannam@136 487 vs:term_status "unstable";
cannam@136 488 rdfs:comment """
cannam@136 489 Feature extraction transform. This may be just a subclass of Transform...
cannam@136 490 """;
cannam@136 491 .
cannam@136 492
cannam@136 493 vamp:Effect
cannam@136 494 a vamp:TransformType;
cannam@136 495 rdfs:label "Effect";
cannam@136 496 vs:term_status "unstable";
cannam@136 497 rdfs:comment """
cannam@136 498 Effect transform. This may be just a subclass of Transform...
cannam@135 499 """;
cannam@135 500 .
cannam@135 501
cannam@135 502 ################
cannam@135 503 # Properties
cannam@135 504 ################
cannam@135 505
cannam@135 506 ##### Plugin Transform properties
cannam@135 507
cannam@136 508 vamp:identifier
cannam@136 509 rdfs:domain vamp:Transform;
cannam@136 510 #the ID is the plugin ID?
cannam@136 511 .
cannam@136 512
cannam@136 513 vamp:engine
cannam@135 514 a rdf:Property;
cannam@135 515 a owl:ObjectProperty;
cannam@135 516 rdfs:label "plugin";
cannam@135 517 vs:term_status "stable";
cannam@135 518 rdfs:comment """
cannam@141 519 Specifies the sort of plugin in execution. This is an extension to use Transform with other plugin libraries
cannam@135 520 """;
cannam@136 521 rdfs:domain vamp:Transform;
cannam@135 522 rdfs:range vamp:Plugin;
cannam@135 523 .
cannam@135 524
cannam@135 525 vamp:program
cannam@135 526 a rdf:Property;
cannam@135 527 a owl:ObjectProperty;
cannam@135 528 a owl:FunctionalProperty;
cannam@135 529 rdfs:label "program";
cannam@135 530 vs:term_status "stable";
cannam@135 531 rdfs:comment """
cannam@141 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?
cannam@135 533 """;
cannam@135 534 rdfs:domain vamp:Transform;
cannam@135 535 rdfs:range vamp:PluginProgram;
cannam@135 536 .
cannam@135 537
cannam@136 538 vamp:program
cannam@136 539 a rdf:Property;
cannam@136 540 a owl:ObjectProperty;
cannam@136 541 a owl:FunctionalProperty;
cannam@136 542 rdfs:label "program";
cannam@136 543 vs:term_status "stable";
cannam@136 544 rdfs:comment """
cannam@141 545 Extension for configuration.
cannam@136 546 """;
cannam@136 547 rdfs:domain vamp:Transform;
cannam@136 548 rdfs:range vamp:Configuration;
cannam@136 549 .
cannam@136 550
cannam@135 551 vamp:parameter
cannam@135 552 a rdf:Property;
cannam@135 553 a owl:ObjectProperty;
cannam@135 554 rdfs:label "parameter";
cannam@135 555 vs:term_status "stable";
cannam@135 556 rdfs:comment """
cannam@135 557 Specifies the parameter to set the plugin in execution.
cannam@135 558 """;
cannam@136 559 rdfs:domain vamp:Transform;
cannam@135 560 rdfs:range vamp:Parameter;
cannam@135 561 .
cannam@135 562
cannam@135 563 vamp:step_size
cannam@135 564 a rdf:Property;
cannam@135 565 a owl:DatatypeProperty;
cannam@135 566 a owl:FunctionalProperty;
cannam@135 567 rdfs:label "step size";
cannam@135 568 vs:term_status "stable";
cannam@135 569 rdfs:comment """
cannam@135 570 Specifies the step size for the framing.
cannam@135 571 """;
cannam@136 572 rdfs:domain vamp:Transform;
cannam@135 573 .
cannam@135 574
cannam@135 575 vamp:block_size
cannam@135 576 a rdf:Property;
cannam@135 577 a owl:DatatypeProperty;
cannam@135 578 a owl:FunctionalProperty;
cannam@135 579 rdfs:label "block size";
cannam@135 580 vs:term_status "stable";
cannam@135 581 rdfs:comment """
cannam@135 582 Specifies the block size for the framing.
cannam@135 583 """;
cannam@136 584 rdfs:domain vamp:Transform;
cannam@135 585 .
cannam@135 586
cannam@135 587 vamp:sample_rate
cannam@135 588 a rdf:Property;
cannam@135 589 a owl:DatatypeProperty;
cannam@135 590 a owl:FunctionalProperty;
cannam@135 591 rdfs:label "sample rate";
cannam@135 592 vs:term_status "stable";
cannam@135 593 rdfs:comment """
cannam@135 594 Specifies the sample rate if it is not constant.
cannam@135 595 """;
cannam@136 596 rdfs:domain vamp:Transform;
cannam@135 597 .
cannam@135 598
cannam@135 599 vamp:transform_type
cannam@135 600 a rdf:Property;
cannam@136 601 a owl:ObjectProperty;
cannam@135 602 a owl:FunctionalProperty;
cannam@135 603 rdfs:label "transform type";
cannam@135 604 vs:term_status "unstable";
cannam@135 605 rdfs:comment """
cannam@136 606 Specifies the transform type (we could do this by subclassin transform instead of using a property).
cannam@135 607 """;
cannam@136 608 rdfs:domain vamp:Transform;
cannam@135 609 .
cannam@135 610
cannam@135 611 vamp:window_type
cannam@135 612 a rdf:Property;
cannam@135 613 a owl:DatatypeProperty;
cannam@135 614 a owl:FunctionalProperty;
cannam@135 615 rdfs:label "window type";
cannam@135 616 vs:term_status "unstable";
cannam@135 617 rdfs:comment """
cannam@135 618 Specifies the window type (they should be individuals and clearly not here).
cannam@135 619 """;
cannam@136 620 rdfs:domain vamp:Transform;
cannam@135 621 .
cannam@135 622
cannam@136 623 vamp:start
cannam@136 624 a rdf:Property;
cannam@136 625 a owl:DatatypeProperty;
cannam@136 626 a owl:FunctionalProperty;
cannam@136 627 rdfs:label "start";
cannam@136 628 vs:term_status "unstable";
cannam@136 629 rdfs:comment """
cannam@136 630 Specifies temporal information when processing a data stream.
cannam@136 631 """;
cannam@136 632 rdfs:domain vamp:Transform;
cannam@136 633 .
cannam@136 634
cannam@136 635 vamp:duration
cannam@136 636 a rdf:Property;
cannam@136 637 a owl:DatatypeProperty;
cannam@136 638 a owl:FunctionalProperty;
cannam@136 639 rdfs:label "start";
cannam@136 640 vs:term_status "unstable";
cannam@136 641 rdfs:comment """
cannam@136 642 Specifies temporal information when processing a data stream.
cannam@136 643 """;
cannam@136 644 rdfs:domain vamp:Transform;
cannam@136 645 .
cannam@136 646
cannam@135 647 ##### Parameter properties
cannam@135 648
cannam@135 649 vamp:value
cannam@135 650 a rdf:Property;
cannam@135 651 a owl:DatatypeProperty;
cannam@135 652 a owl:FunctionalProperty;
cannam@135 653 rdfs:label "value";
cannam@135 654 vs:term_status "stable";
cannam@135 655 rdfs:comment """
cannam@135 656 Specifies the current value of the parameter.
cannam@135 657 """;
cannam@135 658 rdfs:domain vamp:Parameter;
cannam@135 659 .
cannam@135 660
cannam@135 661 vamp:parameter_descriptor
cannam@135 662 a rdf:Property;
cannam@135 663 a owl:ObjectProperty;
cannam@135 664 rdfs:label "parameter descriptor";
cannam@135 665 vs:term_status "stable";
cannam@135 666 rdfs:comment """
cannam@135 667 Specifies exactly the type of descriptor to set in the transform by linking it.
cannam@135 668 """;
cannam@135 669 rdfs:domain vamp:Parameter;
cannam@135 670 rdfs:range vamp:ParameterDescriptor;
cannam@135 671 .
cannam@135 672
cannam@135 673
cannam@135 674
cannam@135 675