annotate rdf/vamp.n3 @ 159:64709b340651

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