int FaceDatabaseProvider::countImages(QList<XQFaceRegion> regions) { QString sparqlSentence("SELECT\n" " COUNT(?urn)\n" "WHERE {\n" " ?urn rdf:type nfo:Visual ;\n" " tracker:available \"true\"^^xsd:boolean .\n" " FILTER(?urn IN (%1) ).\n" "}\n"); QString urnList; QListIterator<XQFaceRegion> iter(regions); while (iter.hasNext()) { urnList += "<" + iter.next().sourceId() + ">"; if (iter.hasNext()) { urnList += " , "; } } QSparqlQuery query = QSparqlQuery(sparqlSentence.arg(urnList)); int count = 0; QSparqlResult *result = m_sparqlConnection->syncExec(query); if (!result->hasError() && result->first()) { count = result->value(0).toInt(); } delete result; return count; }
void initializeModel(QSparqlQueryModel *model) { model->setQuery(QSparqlQuery("select ?u ?ng ?nf { ?u a nco:Contact; nco:nameGiven ?ng; nco:nameFamily ?nf . }"), *connection); model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID")); model->setHeaderData(1, Qt::Horizontal, QObject::tr("First name")); model->setHeaderData(2, Qt::Horizontal, QObject::tr("Last name")); }
bool BookmarkSelectionPageListModel::fetch(void) { QSparqlQuery q = QSparqlQuery("select ?b where { ?b a nfo:Bookmark }"); m_result = m_connection->exec(q); if (m_result == 0 || m_result->hasError() == true) { mDebug(__func__) << "Failed to execute query: " << ((m_result == 0) ? "Null result" : m_result->lastError().message()); return false; } connect(m_result, SIGNAL(finished()), this, SLOT(queryFinished())); return true; }
int main(int argc, char *argv[]) { QApplication app(argc, argv); connection = new QSparqlConnection("QTRACKER_DIRECT"); QSparqlQueryModel model; model.setQuery(QSparqlQuery("select ?u ?ng ?nf { ?u a nco:Contact; nco:nameGiven ?ng; nco:nameFamily ?nf . }"), *connection); model.setHeaderData(0, Qt::Horizontal, QObject::tr("ID")); model.setHeaderData(1, Qt::Horizontal, QObject::tr("First name")); model.setHeaderData(2, Qt::Horizontal, QObject::tr("Last name")); CustomSparqlModel customModel; initializeModel(&customModel); createView(QObject::tr("Plain Query Model"), &model); createView(QObject::tr("Custom Query Model"), &customModel); return app.exec(); }
void PlaylistModel::componentComplete() { QStringList tracksList(PlaylistUtils::parsePlaylist(m_url)); if (tracksList.isEmpty()) { m_loaded = true; emit loadedChanged(); } else { QSparqlConnection *connection = new QSparqlConnection("QTRACKER_DIRECT", QSparqlConnectionOptions(), this); for (int i = 0, max = tracksList.size(); i < max; i++) { QString url(tracksList.at(i)); m_tracks.append(new PlaylistTrack(url)); QSparqlResult *result = connection->exec(QSparqlQuery(PlaylistUtils::trackSparqlQuery(url), QSparqlQuery::SelectStatement)); result->setProperty("trackIndex", i); connect(result, &QSparqlResult::finished, this, &PlaylistModel::onQueryFinished); m_queries.append(result); } } }