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/>"