diff dml-cla/ontologies/dmlclaOntology.n3 @ 0:718306e29690 tip

commiting public release
author Daniel Wolff
date Tue, 09 Feb 2016 21:05:06 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dml-cla/ontologies/dmlclaOntology.n3	Tue Feb 09 21:05:06 2016 +0100
@@ -0,0 +1,179 @@
+@prefix rdfs:           <http://www.w3.org/2000/01/rdf-schema#> .
+@prefix owl:            <http://www.w3.org/2002/07/owl#> .
+@prefix xsd:            <http://www.w3.org/2001/XMLSchema#> .
+@prefix rdf:            <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
+@prefix dml:            <http://dml.org/dml/cla#> .
+@prefix vamp:           <http://purl.org/ontology/vamp/> .
+@prefix dc:             <http://purl.org/dc/elements/1.1/> .
+@prefix qmplugbase:     <http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#> .
+@prefix silvetplugbase: <http://vamp-plugins.org/rdf/plugins/silvet#> .
+
+# This file defines an ontology, which also imports the vamp plugin ontology
+<dmlclaOntology.n3> a owl:Ontology;
+    owl:imports <http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins> .
+
+# Our highest level class is a dml:Transform
+dml:Transform a owl:Class .
+dml:CollectionLevelAnalysis rdfs:subClassOf dml:Transform .
+
+dml:type rdfs:subPropertyOf rdf:type .
+
+vamp:Transform rdfs:subClassOf dml:Transform .
+
+dml:input a owl:ObjectProperty .
+dml:output a owl:ObjectProperty .
+
+# A CollectionLevelKeyTonic is a CollectionLevelAnalysis,
+# it requires at least one input, and these inputs
+# will all be outputs from the qm keydetector vamp plugin.
+dml:CollectionLevelKeyTonic rdfs:subClassOf dml:CollectionLevelAnalysis ;
+    owl:equivalentClass [ a owl:Restriction ;
+    					  owl:onProperty dml:collectionLevelKeyTonicInput ;
+    					  owl:minCardinality 1] ;
+    owl:equivalentClass [ a owl:Restriction ;
+    					  owl:onProperty dml:collectionLevelKeyTonicOutput ;
+    					  owl:cardinality 1] .
+    					  
+dml:collectionLevelKeyTonicInput rdfs:subPropertyOf dml:input ;
+	rdfs:range qmplugbase:qm-keydetector_output_tonic .
+
+dml:collectionLevelKeyTonicOutput rdfs:subPropertyOf dml:output ;
+	rdfs:range dml:KeyTonicHistogram .
+
+# A (Tonic) Key Histogram is defined as:
+dml:KeyTonicHistogram a vamp:DenseOutput ;
+    vamp:identifier       "keytonichistogram" ;
+    dc:title              "Key Tonic Histogram" ;
+    dc:description        "Histogram of estimated tonic key (from C major = 1 to B major = 12)."  ;
+    vamp:fixed_bin_count  "true" ;
+    vamp:unit             "" ;
+    vamp:bin_count        12 ;
+    vamp:bin_names        ( "C" "C#" "D" "D#" "E" "F" "F#" "G" "G#" "A" "A#" "B");
+    owl:intersectionOf (
+			[ a owl:Restriction;
+			  owl:onProperty dml:sample_count ;
+			  owl:cardinality 1]
+			[ a owl:Restriction;
+			  owl:onProperty dml:bin ;
+			  owl:cardinality 12] ) .
+
+dml:bin a owl:ObjectProperty ;
+	rdfs:range dml:Bin .
+	
+dml:Bin a owl:Class;
+		owl:intersectionOf (
+			[ a owl:Restriction;
+			  owl:onProperty dml:bin_number ;
+			  owl:cardinality 1]
+			[ a owl:Restriction;
+			  owl:onProperty dml:bin_value ;
+			  owl:cardinality 1]
+			[ a owl:Restriction;
+			  owl:onProperty dml:bin_name ;
+			  owl:minCardinality 0]
+#			[ a owl:Restriction;
+#			  owl:onProperty dml:bin_lower_limit ;
+#			  owl:cardinality 1]
+#			[ a owl:Restriction;
+#			  owl:onProperty dml:bin_upper_limit ;
+#			  owl:cardinality 1]
+			   ) .
+
+dml:bin_number a owl:DatatypeProperty ;
+	rdfs:range xsd:integer .
+
+dml:bin_value a owl:DatatypeProperty .
+
+dml:bin_name a owl:DatatypeProperty ;
+	rdfs:range xsd:string .
+
+dml:sample_count a owl:DatatypeProperty ;
+	rdfs:range xsd:integer .
+
+# A Key Histogram is defined as:
+dml:KeyHistogram a vamp:DenseOutput ;
+    vamp:identifier       "keyhistogram" ;
+    dc:title              "Key Histogram" ;
+    dc:description        "Histogram of estimated key (from C major = 1 to B major = 12 and C minor = 13 to B minor = 24)."  ;
+    vamp:fixed_bin_count  "true" ;
+    vamp:unit             "" ;
+    vamp:bin_count        24 ;
+    vamp:bin_names        ( "Cmaj" "C#maj" "Dmaj" "D#maj" "Emaj" "Fmaj" "F#maj" "Gmaj" "G#maj" "Amaj" "A#maj" "Bmaj" "Cmin" "C#min" "Dmin" "D#min" "Emin" "Fmin" "F#min" "Gmin" "G#min" "Amin" "A#min" "Bmin");
+    dml:sample_count [ a xsd:integer] ;
+    owl:equivalentClass [ a owl:Restriction ;
+    					  owl:onProperty dml:bin ;
+    					  owl:cardinality 24] .
+
+
+
+# A CollectionLevelTuningFrequencyStatistics is a CollectionLevelAnalysis,
+# it requires at least one input, and these inputs
+# will all be outputs from the silvet transcription plugin.
+dml:CollectionLevelTuningFrequencyStatistics rdfs:subClassOf dml:CollectionLevelAnalysis ;
+    owl:equivalentClass [ a owl:Restriction ;
+    					  owl:onProperty dml:collectionLevelTuningFrequencyStatisticsInput ;
+    					  owl:minCardinality 1] ;
+    owl:equivalentClass [ a owl:Restriction ;
+    					  owl:onProperty dml:collectionLevelTuningFrequencyStatisticsOutput ;
+    					  owl:cardinality 1] .
+
+dml:collectionLevelTuningFrequencyStatisticsInput rdfs:subPropertyOf dml:input ;
+	rdfs:range silvetplugbase:silvet_output_notes .
+
+dml:collectionLevelTuningFrequencyStatisticsOutput rdfs:subPropertyOf dml:output ;
+	rdfs:range dml:TuningFrequencyStatistics .
+
+# TuningFrequencyStatistics is defined as:
+dml:TuningFrequencyStatistics a vamp:DenseOutput ;
+    vamp:identifier       "tuningfrequencystatistics" ;
+    dc:title              "Tuning Frequency Statistics" ;
+    dc:description        "Statistics of Estimated Tuning Frequency including mean, standard deviation and histogram" ;
+    owl:intersectionOf (
+			[ a owl:Restriction;
+			  owl:onProperty dml:mean ;
+			  owl:cardinality 1]
+			[ a owl:Restriction;
+			  owl:onProperty dml:std_dev ;
+			  owl:cardinality 1] 
+                        [ a owl:Restriction;
+			  owl:onProperty dml:bin ;
+			  owl:cardinality 100]) .
+
+dml:mean a owl:DatatypeProperty ;
+	rdfs:range xsd:float .
+
+dml:std_dev a owl:DatatypeProperty ;
+	rdfs:range xsd:float .
+	
+# A CollectionLevelSemitone is a CollectionLevelAnalysis,
+# it requires at least one input, and these inputs
+# will all be outputs from the http://vamp-plugins.org/rdf/plugins/silvet#silvet plugin.
+dml:CollectionLevelSemitone rdfs:subClassOf dml:CollectionLevelAnalysis ;
+    owl:intersectionOf (
+    	[ a owl:Restriction ;
+			owl:onProperty dml:collectionLevelSemitoneInput ;
+			owl:minCardinality 1]
+		[ a owl:Restriction ;
+			owl:onProperty dml:collectionLevelSemitoneOutput ;
+			owl:cardinality 1] ) .
+    					  
+dml:collectionLevelSemitoneInput rdfs:subPropertyOf dml:input ;
+	rdfs:range silvetplugbase:silvet_output_notes .
+
+dml:collectionLevelSemitoneOutput rdfs:subPropertyOf dml:output ;
+	rdfs:range dml:SemitoneHistogram .
+
+# A Semitone Histogram is defined as:
+dml:SemitoneHistogram a vamp:DenseOutput ;
+    vamp:identifier       "semitonehistogram" ;
+    dc:title              "Semitone Histogram" ;
+    dc:description        "Histogram of estimated semitones"  ;
+    vamp:fixed_bin_count  "false" ;
+    vamp:unit             "" ;
+    owl:intersectionOf (
+			[ a owl:Restriction;
+			  owl:onProperty dml:sample_count ;
+			  owl:cardinality 1]
+			[ a owl:Restriction;
+			  owl:onProperty dml:bin ;
+			  owl:minCardinality 1] ) .