Mercurial > hg > svcore
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 } |