comparison rdf/RDFImporter.cpp @ 480:3ffce691c9bf

* Add Redland datastore support to SimpleSPARQLQuery
author Chris Cannam
date Thu, 13 Nov 2008 14:23:23 +0000
parents d8a2c28ba9f6
children 1c66e199e7d9
comparison
equal deleted inserted replaced
479:f933062a7f80 480:3ffce691c9bf
155 void 155 void
156 RDFImporterImpl::getDataModelsDense(std::vector<Model *> &models, 156 RDFImporterImpl::getDataModelsDense(std::vector<Model *> &models,
157 ProgressReporter *reporter) 157 ProgressReporter *reporter)
158 { 158 {
159 SimpleSPARQLQuery query = SimpleSPARQLQuery 159 SimpleSPARQLQuery query = SimpleSPARQLQuery
160 (QString 160 (m_uristring,
161 QString
161 ( 162 (
162 " PREFIX mo: <http://purl.org/ontology/mo/>" 163 " PREFIX mo: <http://purl.org/ontology/mo/>"
163 " PREFIX af: <http://purl.org/ontology/af/>" 164 " PREFIX af: <http://purl.org/ontology/af/>"
164 165
165 " SELECT ?feature ?signal_source ?feature_signal_type ?value " 166 " SELECT ?feature ?signal_source ?feature_signal_type ?value "
286 287
287 " } " 288 " } "
288 ); 289 );
289 290
290 SimpleSPARQLQuery::Value dimensionsValue = 291 SimpleSPARQLQuery::Value dimensionsValue =
291 SimpleSPARQLQuery::singleResultQuery(dimensionsQuery 292 SimpleSPARQLQuery::singleResultQuery(m_uristring,
293 dimensionsQuery
292 .arg(m_uristring).arg(featureUri), 294 .arg(m_uristring).arg(featureUri),
293 "dimensions"); 295 "dimensions");
294 296
295 cerr << "Dimensions = \"" << dimensionsValue.value.toStdString() << "\"" 297 cerr << "Dimensions = \"" << dimensionsValue.value.toStdString() << "\""
296 << endl; 298 << endl;
327 329
328 // Another laborious workaround for rasqal's failure to handle 330 // Another laborious workaround for rasqal's failure to handle
329 // multiple optionals properly 331 // multiple optionals properly
330 332
331 SimpleSPARQLQuery::Value srValue = 333 SimpleSPARQLQuery::Value srValue =
332 SimpleSPARQLQuery::singleResultQuery(queryTemplate 334 SimpleSPARQLQuery::singleResultQuery(m_uristring,
335 queryTemplate
333 .arg(m_uristring).arg(featureUri) 336 .arg(m_uristring).arg(featureUri)
334 .arg("sampleRate"), 337 .arg("sampleRate"),
335 "sampleRate"); 338 "sampleRate");
336 if (srValue.value != "") { 339 if (srValue.value != "") {
337 sampleRate = srValue.value.toInt(); 340 sampleRate = srValue.value.toInt();
338 } 341 }
339 342
340 SimpleSPARQLQuery::Value hopValue = 343 SimpleSPARQLQuery::Value hopValue =
341 SimpleSPARQLQuery::singleResultQuery(queryTemplate 344 SimpleSPARQLQuery::singleResultQuery(m_uristring,
345 queryTemplate
342 .arg(m_uristring).arg(featureUri) 346 .arg(m_uristring).arg(featureUri)
343 .arg("hopSize"), 347 .arg("hopSize"),
344 "hopSize"); 348 "hopSize");
345 if (srValue.value != "") { 349 if (srValue.value != "") {
346 hopSize = hopValue.value.toInt(); 350 hopSize = hopValue.value.toInt();
347 } 351 }
348 352
349 SimpleSPARQLQuery::Value winValue = 353 SimpleSPARQLQuery::Value winValue =
350 SimpleSPARQLQuery::singleResultQuery(queryTemplate 354 SimpleSPARQLQuery::singleResultQuery(m_uristring,
355 queryTemplate
351 .arg(m_uristring).arg(featureUri) 356 .arg(m_uristring).arg(featureUri)
352 .arg("windowLength"), 357 .arg("windowLength"),
353 "windowLength"); 358 "windowLength");
354 if (winValue.value != "") { 359 if (winValue.value != "") {
355 windowLength = winValue.value.toInt(); 360 windowLength = winValue.value.toInt();
453 " <%2> rdfs:label ?label . " 458 " <%2> rdfs:label ?label . "
454 " } " 459 " } "
455 460
456 ).arg(m_uristring); 461 ).arg(m_uristring);
457 462
458 SimpleSPARQLQuery query(queryString); 463 SimpleSPARQLQuery query(m_uristring, queryString);
459 query.setProgressReporter(reporter); 464 query.setProgressReporter(reporter);
460 465
461 cerr << "Query will be: " << queryString.toStdString() << endl; 466 cerr << "Query will be: " << queryString.toStdString() << endl;
462 467
463 SimpleSPARQLQuery::ResultList results = query.execute(); 468 SimpleSPARQLQuery::ResultList results = query.execute();
515 520
516 bool haveTime = false; 521 bool haveTime = false;
517 bool haveDuration = false; 522 bool haveDuration = false;
518 523
519 QString label = SimpleSPARQLQuery::singleResultQuery 524 QString label = SimpleSPARQLQuery::singleResultQuery
520 (labelQueryString.arg(thinguri), "label").value; 525 (m_uristring, labelQueryString.arg(thinguri), "label").value;
521 526
522 SimpleSPARQLQuery rangeQuery(rangeQueryString.arg(thinguri)); 527 SimpleSPARQLQuery rangeQuery(m_uristring, rangeQueryString.arg(thinguri));
523 SimpleSPARQLQuery::ResultList rangeResults = rangeQuery.execute(); 528 SimpleSPARQLQuery::ResultList rangeResults = rangeQuery.execute();
524 if (!rangeResults.empty()) { 529 if (!rangeResults.empty()) {
525 // std::cerr << rangeResults.size() << " range results" << std::endl; 530 // std::cerr << rangeResults.size() << " range results" << std::endl;
526 time = RealTime::fromXsdDuration 531 time = RealTime::fromXsdDuration
527 (rangeResults[0]["time"].value.toStdString()); 532 (rangeResults[0]["time"].value.toStdString());
530 // std::cerr << "duration string " << rangeResults[0]["duration"].value.toStdString() << std::endl; 535 // std::cerr << "duration string " << rangeResults[0]["duration"].value.toStdString() << std::endl;
531 haveTime = true; 536 haveTime = true;
532 haveDuration = true; 537 haveDuration = true;
533 } else { 538 } else {
534 QString timestring = SimpleSPARQLQuery::singleResultQuery 539 QString timestring = SimpleSPARQLQuery::singleResultQuery
535 (timeQueryString.arg(thinguri), "time").value; 540 (m_uristring, timeQueryString.arg(thinguri), "time").value;
536 if (timestring != "") { 541 if (timestring != "") {
537 time = RealTime::fromXsdDuration(timestring.toStdString()); 542 time = RealTime::fromXsdDuration(timestring.toStdString());
538 haveTime = true; 543 haveTime = true;
539 } 544 }
540 } 545 }