Daniel@0
|
1 @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
Daniel@0
|
2 @prefix owl: <http://www.w3.org/2002/07/owl#> .
|
Daniel@0
|
3 @prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
Daniel@0
|
4 @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
Daniel@0
|
5 @prefix dml: <http://dml.org/dml/cla#> .
|
Daniel@0
|
6 @prefix vamp: <http://purl.org/ontology/vamp/> .
|
Daniel@0
|
7 @prefix dc: <http://purl.org/dc/elements/1.1/> .
|
Daniel@0
|
8 @prefix qmplugbase: <http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins#> .
|
Daniel@0
|
9 @prefix silvetplugbase: <http://vamp-plugins.org/rdf/plugins/silvet#> .
|
Daniel@0
|
10
|
Daniel@0
|
11 # This file defines an ontology, which also imports the vamp plugin ontology
|
Daniel@0
|
12 <dmlclaOntology.n3> a owl:Ontology;
|
Daniel@0
|
13 owl:imports <http://vamp-plugins.org/rdf/plugins/qm-vamp-plugins> .
|
Daniel@0
|
14
|
Daniel@0
|
15 # Our highest level class is a dml:Transform
|
Daniel@0
|
16 dml:Transform a owl:Class .
|
Daniel@0
|
17 dml:CollectionLevelAnalysis rdfs:subClassOf dml:Transform .
|
Daniel@0
|
18
|
Daniel@0
|
19 dml:type rdfs:subPropertyOf rdf:type .
|
Daniel@0
|
20
|
Daniel@0
|
21 vamp:Transform rdfs:subClassOf dml:Transform .
|
Daniel@0
|
22
|
Daniel@0
|
23 dml:input a owl:ObjectProperty .
|
Daniel@0
|
24 dml:output a owl:ObjectProperty .
|
Daniel@0
|
25
|
Daniel@0
|
26 # A CollectionLevelKeyTonic is a CollectionLevelAnalysis,
|
Daniel@0
|
27 # it requires at least one input, and these inputs
|
Daniel@0
|
28 # will all be outputs from the qm keydetector vamp plugin.
|
Daniel@0
|
29 dml:CollectionLevelKeyTonic rdfs:subClassOf dml:CollectionLevelAnalysis ;
|
Daniel@0
|
30 owl:equivalentClass [ a owl:Restriction ;
|
Daniel@0
|
31 owl:onProperty dml:collectionLevelKeyTonicInput ;
|
Daniel@0
|
32 owl:minCardinality 1] ;
|
Daniel@0
|
33 owl:equivalentClass [ a owl:Restriction ;
|
Daniel@0
|
34 owl:onProperty dml:collectionLevelKeyTonicOutput ;
|
Daniel@0
|
35 owl:cardinality 1] .
|
Daniel@0
|
36
|
Daniel@0
|
37 dml:collectionLevelKeyTonicInput rdfs:subPropertyOf dml:input ;
|
Daniel@0
|
38 rdfs:range qmplugbase:qm-keydetector_output_tonic .
|
Daniel@0
|
39
|
Daniel@0
|
40 dml:collectionLevelKeyTonicOutput rdfs:subPropertyOf dml:output ;
|
Daniel@0
|
41 rdfs:range dml:KeyTonicHistogram .
|
Daniel@0
|
42
|
Daniel@0
|
43 # A (Tonic) Key Histogram is defined as:
|
Daniel@0
|
44 dml:KeyTonicHistogram a vamp:DenseOutput ;
|
Daniel@0
|
45 vamp:identifier "keytonichistogram" ;
|
Daniel@0
|
46 dc:title "Key Tonic Histogram" ;
|
Daniel@0
|
47 dc:description "Histogram of estimated tonic key (from C major = 1 to B major = 12)." ;
|
Daniel@0
|
48 vamp:fixed_bin_count "true" ;
|
Daniel@0
|
49 vamp:unit "" ;
|
Daniel@0
|
50 vamp:bin_count 12 ;
|
Daniel@0
|
51 vamp:bin_names ( "C" "C#" "D" "D#" "E" "F" "F#" "G" "G#" "A" "A#" "B");
|
Daniel@0
|
52 owl:intersectionOf (
|
Daniel@0
|
53 [ a owl:Restriction;
|
Daniel@0
|
54 owl:onProperty dml:sample_count ;
|
Daniel@0
|
55 owl:cardinality 1]
|
Daniel@0
|
56 [ a owl:Restriction;
|
Daniel@0
|
57 owl:onProperty dml:bin ;
|
Daniel@0
|
58 owl:cardinality 12] ) .
|
Daniel@0
|
59
|
Daniel@0
|
60 dml:bin a owl:ObjectProperty ;
|
Daniel@0
|
61 rdfs:range dml:Bin .
|
Daniel@0
|
62
|
Daniel@0
|
63 dml:Bin a owl:Class;
|
Daniel@0
|
64 owl:intersectionOf (
|
Daniel@0
|
65 [ a owl:Restriction;
|
Daniel@0
|
66 owl:onProperty dml:bin_number ;
|
Daniel@0
|
67 owl:cardinality 1]
|
Daniel@0
|
68 [ a owl:Restriction;
|
Daniel@0
|
69 owl:onProperty dml:bin_value ;
|
Daniel@0
|
70 owl:cardinality 1]
|
Daniel@0
|
71 [ a owl:Restriction;
|
Daniel@0
|
72 owl:onProperty dml:bin_name ;
|
Daniel@0
|
73 owl:minCardinality 0]
|
Daniel@0
|
74 # [ a owl:Restriction;
|
Daniel@0
|
75 # owl:onProperty dml:bin_lower_limit ;
|
Daniel@0
|
76 # owl:cardinality 1]
|
Daniel@0
|
77 # [ a owl:Restriction;
|
Daniel@0
|
78 # owl:onProperty dml:bin_upper_limit ;
|
Daniel@0
|
79 # owl:cardinality 1]
|
Daniel@0
|
80 ) .
|
Daniel@0
|
81
|
Daniel@0
|
82 dml:bin_number a owl:DatatypeProperty ;
|
Daniel@0
|
83 rdfs:range xsd:integer .
|
Daniel@0
|
84
|
Daniel@0
|
85 dml:bin_value a owl:DatatypeProperty .
|
Daniel@0
|
86
|
Daniel@0
|
87 dml:bin_name a owl:DatatypeProperty ;
|
Daniel@0
|
88 rdfs:range xsd:string .
|
Daniel@0
|
89
|
Daniel@0
|
90 dml:sample_count a owl:DatatypeProperty ;
|
Daniel@0
|
91 rdfs:range xsd:integer .
|
Daniel@0
|
92
|
Daniel@0
|
93 # A Key Histogram is defined as:
|
Daniel@0
|
94 dml:KeyHistogram a vamp:DenseOutput ;
|
Daniel@0
|
95 vamp:identifier "keyhistogram" ;
|
Daniel@0
|
96 dc:title "Key Histogram" ;
|
Daniel@0
|
97 dc:description "Histogram of estimated key (from C major = 1 to B major = 12 and C minor = 13 to B minor = 24)." ;
|
Daniel@0
|
98 vamp:fixed_bin_count "true" ;
|
Daniel@0
|
99 vamp:unit "" ;
|
Daniel@0
|
100 vamp:bin_count 24 ;
|
Daniel@0
|
101 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");
|
Daniel@0
|
102 dml:sample_count [ a xsd:integer] ;
|
Daniel@0
|
103 owl:equivalentClass [ a owl:Restriction ;
|
Daniel@0
|
104 owl:onProperty dml:bin ;
|
Daniel@0
|
105 owl:cardinality 24] .
|
Daniel@0
|
106
|
Daniel@0
|
107
|
Daniel@0
|
108
|
Daniel@0
|
109 # A CollectionLevelTuningFrequencyStatistics is a CollectionLevelAnalysis,
|
Daniel@0
|
110 # it requires at least one input, and these inputs
|
Daniel@0
|
111 # will all be outputs from the silvet transcription plugin.
|
Daniel@0
|
112 dml:CollectionLevelTuningFrequencyStatistics rdfs:subClassOf dml:CollectionLevelAnalysis ;
|
Daniel@0
|
113 owl:equivalentClass [ a owl:Restriction ;
|
Daniel@0
|
114 owl:onProperty dml:collectionLevelTuningFrequencyStatisticsInput ;
|
Daniel@0
|
115 owl:minCardinality 1] ;
|
Daniel@0
|
116 owl:equivalentClass [ a owl:Restriction ;
|
Daniel@0
|
117 owl:onProperty dml:collectionLevelTuningFrequencyStatisticsOutput ;
|
Daniel@0
|
118 owl:cardinality 1] .
|
Daniel@0
|
119
|
Daniel@0
|
120 dml:collectionLevelTuningFrequencyStatisticsInput rdfs:subPropertyOf dml:input ;
|
Daniel@0
|
121 rdfs:range silvetplugbase:silvet_output_notes .
|
Daniel@0
|
122
|
Daniel@0
|
123 dml:collectionLevelTuningFrequencyStatisticsOutput rdfs:subPropertyOf dml:output ;
|
Daniel@0
|
124 rdfs:range dml:TuningFrequencyStatistics .
|
Daniel@0
|
125
|
Daniel@0
|
126 # TuningFrequencyStatistics is defined as:
|
Daniel@0
|
127 dml:TuningFrequencyStatistics a vamp:DenseOutput ;
|
Daniel@0
|
128 vamp:identifier "tuningfrequencystatistics" ;
|
Daniel@0
|
129 dc:title "Tuning Frequency Statistics" ;
|
Daniel@0
|
130 dc:description "Statistics of Estimated Tuning Frequency including mean, standard deviation and histogram" ;
|
Daniel@0
|
131 owl:intersectionOf (
|
Daniel@0
|
132 [ a owl:Restriction;
|
Daniel@0
|
133 owl:onProperty dml:mean ;
|
Daniel@0
|
134 owl:cardinality 1]
|
Daniel@0
|
135 [ a owl:Restriction;
|
Daniel@0
|
136 owl:onProperty dml:std_dev ;
|
Daniel@0
|
137 owl:cardinality 1]
|
Daniel@0
|
138 [ a owl:Restriction;
|
Daniel@0
|
139 owl:onProperty dml:bin ;
|
Daniel@0
|
140 owl:cardinality 100]) .
|
Daniel@0
|
141
|
Daniel@0
|
142 dml:mean a owl:DatatypeProperty ;
|
Daniel@0
|
143 rdfs:range xsd:float .
|
Daniel@0
|
144
|
Daniel@0
|
145 dml:std_dev a owl:DatatypeProperty ;
|
Daniel@0
|
146 rdfs:range xsd:float .
|
Daniel@0
|
147
|
Daniel@0
|
148 # A CollectionLevelSemitone is a CollectionLevelAnalysis,
|
Daniel@0
|
149 # it requires at least one input, and these inputs
|
Daniel@0
|
150 # will all be outputs from the http://vamp-plugins.org/rdf/plugins/silvet#silvet plugin.
|
Daniel@0
|
151 dml:CollectionLevelSemitone rdfs:subClassOf dml:CollectionLevelAnalysis ;
|
Daniel@0
|
152 owl:intersectionOf (
|
Daniel@0
|
153 [ a owl:Restriction ;
|
Daniel@0
|
154 owl:onProperty dml:collectionLevelSemitoneInput ;
|
Daniel@0
|
155 owl:minCardinality 1]
|
Daniel@0
|
156 [ a owl:Restriction ;
|
Daniel@0
|
157 owl:onProperty dml:collectionLevelSemitoneOutput ;
|
Daniel@0
|
158 owl:cardinality 1] ) .
|
Daniel@0
|
159
|
Daniel@0
|
160 dml:collectionLevelSemitoneInput rdfs:subPropertyOf dml:input ;
|
Daniel@0
|
161 rdfs:range silvetplugbase:silvet_output_notes .
|
Daniel@0
|
162
|
Daniel@0
|
163 dml:collectionLevelSemitoneOutput rdfs:subPropertyOf dml:output ;
|
Daniel@0
|
164 rdfs:range dml:SemitoneHistogram .
|
Daniel@0
|
165
|
Daniel@0
|
166 # A Semitone Histogram is defined as:
|
Daniel@0
|
167 dml:SemitoneHistogram a vamp:DenseOutput ;
|
Daniel@0
|
168 vamp:identifier "semitonehistogram" ;
|
Daniel@0
|
169 dc:title "Semitone Histogram" ;
|
Daniel@0
|
170 dc:description "Histogram of estimated semitones" ;
|
Daniel@0
|
171 vamp:fixed_bin_count "false" ;
|
Daniel@0
|
172 vamp:unit "" ;
|
Daniel@0
|
173 owl:intersectionOf (
|
Daniel@0
|
174 [ a owl:Restriction;
|
Daniel@0
|
175 owl:onProperty dml:sample_count ;
|
Daniel@0
|
176 owl:cardinality 1]
|
Daniel@0
|
177 [ a owl:Restriction;
|
Daniel@0
|
178 owl:onProperty dml:bin ;
|
Daniel@0
|
179 owl:minCardinality 1] ) .
|