Mercurial > hg > svcore
comparison rdf/RDFImporter.cpp @ 589:a03aafaacb5a
* Make SV capable of importing the signal/audiofile structure now written
out by Sonic Annotator
author | Chris Cannam |
---|---|
date | Thu, 14 May 2009 14:33:40 +0000 |
parents | d04b8674b710 |
children | 3a61a4df6d53 |
comparison
equal
deleted
inserted
replaced
588:d04b8674b710 | 589:a03aafaacb5a |
---|---|
149 std::vector<Model *> models; | 149 std::vector<Model *> models; |
150 | 150 |
151 getDataModelsAudio(models, reporter); | 151 getDataModelsAudio(models, reporter); |
152 | 152 |
153 if (m_sampleRate == 0) { | 153 if (m_sampleRate == 0) { |
154 std::cerr << "RDFImporter::getDataModels: invalid sample rate" << std::endl; | 154 std::cerr << "RDFImporter::getDataModels: invalid sample rate from audio" << std::endl; |
155 return models; | 155 return models; |
156 } | 156 } |
157 | 157 |
158 QString error; | 158 QString error; |
159 | 159 |
180 | 180 |
181 void | 181 void |
182 RDFImporterImpl::getDataModelsAudio(std::vector<Model *> &models, | 182 RDFImporterImpl::getDataModelsAudio(std::vector<Model *> &models, |
183 ProgressReporter *reporter) | 183 ProgressReporter *reporter) |
184 { | 184 { |
185 SimpleSPARQLQuery query = SimpleSPARQLQuery | 185 SimpleSPARQLQuery query |
186 (SimpleSPARQLQuery::QueryFromSingleSource, | 186 (SimpleSPARQLQuery::QueryFromSingleSource, |
187 QString | 187 QString |
188 ( | 188 ( |
189 " PREFIX mo: <http://purl.org/ontology/mo/> " | 189 " PREFIX mo: <http://purl.org/ontology/mo/> " |
190 " SELECT ?signal ?source FROM <%1> " | 190 " SELECT ?signal ?source FROM <%1> " |
191 " WHERE { ?signal a mo:Signal ; mo:available_as ?source } " | 191 " WHERE { ?source a mo:AudioFile . " |
192 " ?signal a mo:Signal . " | |
193 " ?source mo:encodes ?signal } " | |
192 ) | 194 ) |
193 .arg(m_uristring)); | 195 .arg(m_uristring)); |
194 | 196 |
195 SimpleSPARQLQuery::ResultList results = query.execute(); | 197 SimpleSPARQLQuery::ResultList results = query.execute(); |
198 | |
199 if (results.empty()) { | |
200 | |
201 SimpleSPARQLQuery query2 | |
202 (SimpleSPARQLQuery::QueryFromSingleSource, | |
203 QString | |
204 ( | |
205 " PREFIX mo: <http://purl.org/ontology/mo/> " | |
206 " SELECT ?signal ?source FROM <%1> " | |
207 " WHERE { ?signal a mo:Signal ; mo:available_as ?source } " | |
208 ) | |
209 .arg(m_uristring)); | |
210 | |
211 results = query.execute(); | |
212 } | |
196 | 213 |
197 for (int i = 0; i < results.size(); ++i) { | 214 for (int i = 0; i < results.size(); ++i) { |
198 | 215 |
199 QString signal = results[i]["signal"].value; | 216 QString signal = results[i]["signal"].value; |
200 QString source = results[i]["source"].value; | 217 QString source = results[i]["source"].value; |
252 { | 269 { |
253 if (reporter) { | 270 if (reporter) { |
254 reporter->setMessage(RDFImporter::tr("Importing dense signal data from RDF...")); | 271 reporter->setMessage(RDFImporter::tr("Importing dense signal data from RDF...")); |
255 } | 272 } |
256 | 273 |
257 SimpleSPARQLQuery query = SimpleSPARQLQuery | 274 SimpleSPARQLQuery query |
258 (SimpleSPARQLQuery::QueryFromSingleSource, | 275 (SimpleSPARQLQuery::QueryFromSingleSource, |
259 QString | 276 QString |
260 ( | 277 ( |
261 " PREFIX mo: <http://purl.org/ontology/mo/>" | 278 " PREFIX mo: <http://purl.org/ontology/mo/>" |
262 " PREFIX af: <http://purl.org/ontology/af/>" | 279 " PREFIX af: <http://purl.org/ontology/af/>" |