本文整理汇总了C++中soprano::QueryResultIterator类的典型用法代码示例。如果您正苦于以下问题:C++ QueryResultIterator类的具体用法?C++ QueryResultIterator怎么用?C++ QueryResultIterator使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了QueryResultIterator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: job
//
// We don't really care if the indexing level is in the incorrect graph
//
void Nepomuk2::updateIndexingLevel(const QUrl& uri, int level)
{
QString uriN3 = Soprano::Node::resourceToN3( uri );
QString query = QString::fromLatin1("select ?g ?l where { graph ?g { %1 kext:indexingLevel ?l . } }")
.arg ( uriN3 );
Soprano::Model* model = ResourceManager::instance()->mainModel();
Soprano::QueryResultIterator it = model->executeQuery( query, Soprano::Query::QueryLanguageSparqlNoInference );
QUrl graph;
Soprano::Node prevLevel;
if( it.next() ) {
graph = it[0].uri();
prevLevel = it[1];
it.close();
}
if( !graph.isEmpty() ) {
QString graphN3 = Soprano::Node::resourceToN3( graph );
QString removeCommand = QString::fromLatin1("sparql delete { graph %1 { %2 kext:indexingLevel %3 . } }")
.arg( graphN3, uriN3, prevLevel.toN3() );
model->executeQuery( removeCommand, Soprano::Query::QueryLanguageUser, QLatin1String("sql") );
QString insertCommand = QString::fromLatin1("sparql insert { graph %1 { %2 kext:indexingLevel %3 . } }")
.arg( graphN3, uriN3, Soprano::Node::literalToN3(level) );
model->executeQuery( insertCommand, Soprano::Query::QueryLanguageUser, QLatin1String("sql") );
}
// Practically, this should never happen, but still
else {
QScopedPointer<KJob> job( Nepomuk2::setProperty( QList<QUrl>() << uri, KExt::indexingLevel(),
QVariantList() << QVariant(level) ) );
job->setAutoDelete(false);
job->exec();
}
}
示例2: loadDuplicates
void RemoveDuplicates::loadDuplicates()
{
Soprano::Model* model = Nepomuk::ResourceManager::instance()->mainModel();
QString query
= QString( "select distinct ?u1 where { "
"?r1 a %1 . ?r2 a %1. ?r1 %2 ?h. ?r2 %2 ?h. "
"?r1 %3 ?u1. ?r2 %3 ?u2. filter(?r1!=?r2) . }order by ?h limit 50")
.arg( Soprano::Node::resourceToN3(Nepomuk::Vocabulary::NFO::FileDataObject()))
.arg( Soprano::Node::resourceToN3(Nepomuk::Vocabulary::NFO::hasHash()))
.arg( Soprano::Node::resourceToN3(Nepomuk::Vocabulary::NIE::url()));
Soprano::QueryResultIterator it
= model->executeQuery( query,
Soprano::Query::QueryLanguageSparql );
Nepomuk::File tempRsc;
while( it.next() ) {
tempRsc = it.binding("u1").uri() ;
QString usagecount = QString::number(tempRsc.usageCount());
QListWidgetItem* item = new QListWidgetItem(tempRsc.genericLabel() + ":: Usage Count:" + usagecount,m_resourceList);
item->setCheckState(Qt::Unchecked);
item->setToolTip(tempRsc.url().path());
qDebug()<<tempRsc.url().path();
}
}
示例3: query
void MainWindow::query()
{
if (tag->text().isEmpty() && text->toPlainText().isEmpty())
return;
static Soprano::Model *model = Nepomuk2::ResourceManager::instance()->mainModel();
Nepomuk2::Query::ComparisonTerm tag_term;
Nepomuk2::Query::LiteralTerm text_term;
if (!tag->text().isEmpty())
tag_term = Nepomuk2::Query::ComparisonTerm(Soprano::Vocabulary::NAO::hasTag(), Nepomuk2::Query::LiteralTerm(tag->text()));
if (!text->toPlainText().isEmpty())
text_term = Nepomuk2::Query::LiteralTerm(text->toPlainText());
Nepomuk2::Query::Query query(Nepomuk2::Query::AndTerm(tag_term, text_term));
url->setText(query.toSearchUrl().url());
Soprano::QueryResultIterator it = model->executeQuery(query.toSparqlQuery(), Soprano::Query::QueryLanguageSparql);
QString text_result;
while(it.next())
{
for (int i=0; i< it.bindingCount(); ++i)
{
text_result += it.binding(i).toString();
text_result += "<br>";
}
}
result->setText(text_result);
}
示例4: buildPrefixMap
/**
* Get all prefixes stored in the model
*/
void buildPrefixMap()
{
QMutexLocker lock( &m_prefixMapMutex );
m_prefixes.clear();
// fixed prefixes
m_prefixes.insert( "rdf", Soprano::Vocabulary::RDF::rdfNamespace() );
m_prefixes.insert( "rdfs", Soprano::Vocabulary::RDFS::rdfsNamespace() );
m_prefixes.insert( "xsd", Soprano::Vocabulary::XMLSchema::xsdNamespace() );
m_prefixes.insert( "nrl", Soprano::Vocabulary::NRL::nrlNamespace() );
m_prefixes.insert( "nao", Soprano::Vocabulary::NAO::naoNamespace() );
// get prefixes from nepomuk
Soprano::QueryResultIterator it =
q->executeQuery( QString( "select ?ns ?ab where { "
"?g %1 ?ns . "
"?g %2 ?ab . }" )
.arg( Soprano::Node::resourceToN3( Soprano::Vocabulary::NAO::hasDefaultNamespace() ) )
.arg( Soprano::Node::resourceToN3( Soprano::Vocabulary::NAO::hasDefaultNamespaceAbbreviation() ) ),
Soprano::Query::QueryLanguageSparql );
while ( it.next() ) {
QString ab = it["ab"].toString();
QUrl ns = it["ns"].toString();
if ( !m_prefixes.contains( ab ) ) {
m_prefixes.insert( ab, ns );
}
}
}
示例5: query
void Nepomuk::ResourceCompletion::makeCompletion( const QString& string )
{
kDebug() << string;
if ( string.length() > 3 ) {
Query::AndTerm term;
term.addSubTerm( Query::LiteralTerm( string + '*' ) );
if ( d->type.isValid() && d->type != Soprano::Vocabulary::RDFS::Resource() )
term.addSubTerm( Query::ResourceTypeTerm( d->type ) );
Query::Query query(term);
query.setLimit( 10 );
kDebug() << query.toSparqlQuery();
Soprano::QueryResultIterator it
= ResourceManager::instance()->mainModel()->executeQuery( query.toSparqlQuery(),
Soprano::Query::QueryLanguageSparql );
while ( it.next() ) {
Resource res( it.binding( 0 ).uri() );
double score = 1.0; //it[1].literal().toDouble();
kDebug() << "Match for input" << string << res.uri();
addCompletion( KCompletionItem( res.genericLabel(),
QString( "%1 (%2)" ).arg( res.genericLabel() ).arg( Types::Class( res.type() ).label() ),
res.genericDescription(),
KIcon( res.genericIcon() ),
score,
res.resourceUri() ) );
}
}
}
示例6: queryTag
void moviemanager::queryTag(QString userTag)
{
//This module is not working
//get help from pnh for debugging
//pnh code
Nepomuk::Tag myTag;
myTag.setLabel(userTag);
QString query
= QString("select distinct ?r where { ?r %1 %2 . ?r a %3 }")
.arg( Soprano::Node::resourceToN3(Soprano::Vocabulary::NAO::hasTag()) )
.arg( Soprano::Node::resourceToN3(myTag.resourceUri()) )
.arg( Soprano::Node::resourceToN3(Nepomuk::Vocabulary::NFO::Video()) );
QList<Nepomuk::Resource> myResourceList;
Soprano::Model *model = Nepomuk::ResourceManager::instance()->mainModel();
Soprano::QueryResultIterator it = model->executeQuery( query, Soprano::Query::QueryLanguageSparql );
while( it.next() ) {
qDebug() << "looping";
myResourceList << Nepomuk::Resource( it.binding( "r" ).uri() );
}
Q_FOREACH (const Nepomuk::Resource& r, myResourceList)
{
mainMovieList->addItem(r.property(Nepomuk::Vocabulary::NFO::fileName()).toString());
//if(r.tags().contains(new Nepomuk:Tag("video"))) newList.append(r)
}
示例7: updateSemanticItems
void KoEventSemanticItemFactory::updateSemanticItems(QList<hKoRdfBasicSemanticItem> &semanticItems, const KoDocumentRdf *rdf, QSharedPointer<Soprano::Model> m)
{
const QString sparqlQuery = QLatin1String(
" prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n"
" prefix cal: <http://www.w3.org/2002/12/cal/icaltzd#> \n"
" select distinct ?graph ?ev ?uid ?dtstart ?dtend ?summary ?location ?geo ?long ?lat \n"
" where { \n"
" GRAPH ?graph { \n"
" ?ev rdf:type cal:Vevent . \n"
" ?ev cal:uid ?uid . \n"
" ?ev cal:dtstart ?dtstart . \n"
" ?ev cal:dtend ?dtend \n"
" OPTIONAL { ?ev cal:summary ?summary } \n"
" OPTIONAL { ?ev cal:location ?location } \n"
" OPTIONAL { \n"
" ?ev cal:geo ?geo . \n"
" ?geo rdf:first ?lat . \n"
" ?geo rdf:rest ?joiner . \n"
" ?joiner rdf:first ?long \n"
" } \n"
" } \n"
" } \n");
Soprano::QueryResultIterator it =
m->executeQuery(sparqlQuery,
Soprano::Query::QueryLanguageSparql);
QList<hKoRdfBasicSemanticItem> oldSemanticItems = semanticItems;
// uniqfilter is needed because soprano is not honouring
// the DISTINCT sparql keyword
QSet<QString> uniqfilter;
while (it.next()) {
const QString name = it.binding("uid").toString();
if (uniqfilter.contains(name)) {
continue;
}
uniqfilter += name;
hKoRdfBasicSemanticItem newSemanticItem(new KoRdfCalendarEvent(0, rdf, it));
const QString newSemanticItemLinkingSubject = newSemanticItem->linkingSubject().toString();
foreach (hKoRdfBasicSemanticItem semItem, oldSemanticItems) {
if (newSemanticItemLinkingSubject == semItem->linkingSubject().toString()) {
oldSemanticItems.removeAll(semItem);
newSemanticItem = 0;
break;
}
}
if (newSemanticItem) {
semanticItems << newSemanticItem;
}
}
foreach (hKoRdfBasicSemanticItem semItem, oldSemanticItems) {
semanticItems.removeAll(semItem);
}
示例8: KoRdfSemanticItem
KoRdfLocation::KoRdfLocation(QObject *parent, const KoDocumentRdf *rdf, Soprano::QueryResultIterator &it, bool isGeo84)
: KoRdfSemanticItem(parent, rdf, it)
{
m_linkSubject = it.binding("geo");
m_dlong = KoTextRdfCore::optionalBindingAsString(it, "long", "0").toDouble();
m_dlat = KoTextRdfCore::optionalBindingAsString(it, "lat", "0").toDouble();
m_name = QString("%1,%2").arg(m_dlong).arg(m_dlat);
m_joiner = it.binding("joiner");
m_isGeo84 = isGeo84;
}
示例9: KoRdfSemanticItem
KoRdfFoaF::KoRdfFoaF(QObject *parent, const KoDocumentRdf *rdf, Soprano::QueryResultIterator &it)
: KoRdfSemanticItem(parent, rdf, it)
{
m_uri = it.binding("person").toString();
m_name = it.binding("name").toString();
m_nick = KoTextRdfCore::optionalBindingAsString(it, "nick");
m_homePage = KoTextRdfCore::optionalBindingAsString(it, "homepage");
m_imageUrl = KoTextRdfCore::optionalBindingAsString(it, "img");
m_phone = KoTextRdfCore::optionalBindingAsString(it, "phone");
kDebug(30015) << "+++xmlid:" << it.binding("xmlid").toString();
}
示例10: startQuery
void startQuery( const Nepomuk::Query::Query& query ) {
// we cannot use the query service since that would ignore our custom model
// thus, we perform a sync query and call _k_newEntries async from there
Nepomuk::Query::Query ourQuery(query);
// disable result restrictions since we do not support those in our custom model
ourQuery.setQueryFlags(Nepomuk::Query::Query::NoResultRestrictions);
Soprano::QueryResultIterator it = ResourceManager::instance()->mainModel()->executeQuery( ourQuery.toSparqlQuery(), Soprano::Query::QueryLanguageSparql );
QList<Nepomuk::Query::Result> results;
while( it.next() ) {
results << Result( it[0].uri() );
}
QMetaObject::invokeMethod( q, "_k_newEntries", Qt::QueuedConnection, Q_ARG(QList<Nepomuk::Query::Result>, results) );
}
示例11: res
// static
void Nepomuk2::SubtitleLoader::eraseAllSubtitles()
{
QString query = QString::fromLatin1("select distinct ?r where { ?r a %1 . }")
.arg( Soprano::Node::resourceToN3( NSBO::Subtitle() ) );
kDebug() << query;
Soprano::Model * model = Nepomuk2::ResourceManager::instance()->mainModel();
Soprano::QueryResultIterator it = model->executeQuery( query, Soprano::Query::QueryLanguageSparql );
while( it.next() ) {
Nepomuk2::Resource res( it["r"].uri() );
kDebug() << "Removing " << res.uri();
res.remove();
}
}
示例12: if
bool Nepomuk::Types::EntityPrivate::load()
{
const QString query = QString::fromLatin1( "select ?p ?o where { "
"graph ?g { <%1> ?p ?o . } . "
"{ ?g a %2 . } UNION { ?g a %3 . } . }" )
.arg( QString::fromAscii( uri.toEncoded() ),
Soprano::Node::resourceToN3( Soprano::Vocabulary::NRL::Ontology() ),
Soprano::Node::resourceToN3( Soprano::Vocabulary::NRL::KnowledgeBase() ) );
Soprano::QueryResultIterator it
= ResourceManager::instance()->mainModel()->executeQuery( query, Soprano::Query::QueryLanguageSparql );
while ( it.next() ) {
QUrl property = it.binding( "p" ).uri();
Soprano::Node value = it.binding( "o" );
if ( property == Soprano::Vocabulary::RDFS::label() ) {
if ( value.language().isEmpty() ) {
label = value.toString();
}
else if( value.language() == KGlobal::locale()->language() ) {
l10nLabel = value.toString();
}
}
else if ( property == Soprano::Vocabulary::RDFS::comment() ) {
if ( value.language().isEmpty() ) {
comment = value.toString();
}
else if( value.language() == KGlobal::locale()->language() ) {
l10nComment = value.toString();
}
}
else if ( property == Soprano::Vocabulary::NAO::hasSymbol() ) {
icon = KIcon( value.toString() );
}
else if ( property == Soprano::Vocabulary::NAO::userVisible() ) {
userVisible = value.literal().toBool();
}
else {
addProperty( property, value );
}
}
return !it.lastError();
}
示例13: QObject
KoRdfBasicSemanticItem::KoRdfBasicSemanticItem(QObject *parent, const KoDocumentRdf *rdf, Soprano::QueryResultIterator &it)
: QObject(parent)
, m_rdf(rdf)
{
m_context = it.binding("graph");
kDebug(30015) << "KoRdfBasicSemanticItem() context:" << m_context.toString();
}
示例14: while
QList<Soprano::Statement> Nepomuk::NepomukOntologyLoader::loadOntology( const QUrl& uri )
{
QList<Soprano::Statement> sl;
// get the complete named graph describing the ontology
Soprano::QueryResultIterator it
= ResourceManager::instance()->mainModel()->executeQuery( QString::fromLatin1( "construct {?s ?p ?o} "
"where { GRAPH %1 { ?s ?p ?o } . }" )
.arg( Soprano::Node::resourceToN3(uri) ),
Soprano::Query::QueryLanguageSparql );
while ( it.next() ) {
sl.append( it.currentStatement() );
}
return sl;
}
示例15: kDebug
void Nepomuk::DbpediaAnnotationPlugin::slotQueryFinished( Soprano::Util::AsyncResult* result )
{
m_currentResult = 0;
kDebug() << result->lastError();
Soprano::QueryResultIterator it = result->queryResultIterator();
while ( it.next() ) {
kDebug() << it.current();
}
// TODO: create annotations either as new pimo things that are related to the resource or as
// being the resource (ie. an occurrence of resource().pimoThing())
emitFinished();
}