Hi!
The current version is recursive and executes a query for every sub folder.
This version only executes the query once. I haven't done any benchmarking,
but this version should be considerably faster. The second version I've
provided uses a Soprano::BindingSet.
- Vishesh Handa
Index: metadatamover.cpp
===================================================================
--- metadatamover.cpp (revision 1145224)
+++ metadatamover.cpp (working copy)
@@ -179,10 +179,14 @@
Resource res( url );
if ( res.exists() ) {
kDebug() << "removing metadata for file" << url << "with resource URI" << res.resourceUri();
- Query::Query query( Query::ComparisonTerm( Nepomuk::Vocabulary::NIE::isPartOf(), Query::ResourceTerm( res ) ) );
+ Query::Query query( Query::ComparisonTerm( Nepomuk::Vocabulary::NIE::url(),
+ Query::LiteralTerm( url.path( KUrl::AddTrailingSlash ) ) ) );
Soprano::QueryResultIterator it = m_model->executeQuery( query.toSparqlQuery(), Soprano::Query::QueryLanguageSparql );
while ( it.next() ) {
- removeMetadata( it[0].uri() );
+ Resource resource( it[0].uri() );
+ kDebug() << "removing metadata for resource uri : " << resource.resourceUri();
+ //kDebug() << " and file url : " << resource.property( Nepomuk::Vocabulary::NIE::url() ).toString();
+ resource.remove();
}
res.remove();
}
Index: metadatamover.cpp
===================================================================
--- metadatamover.cpp (revision 1145224)
+++ metadatamover.cpp (working copy)
@@ -179,10 +179,16 @@
Resource res( url );
if ( res.exists() ) {
kDebug() << "removing metadata for file" << url << "with resource URI" << res.resourceUri();
- Query::Query query( Query::ComparisonTerm( Nepomuk::Vocabulary::NIE::isPartOf(), Query::ResourceTerm( res ) ) );
+ Query::Query query( Query::ComparisonTerm( Nepomuk::Vocabulary::NIE::url(),
+ Query::LiteralTerm( url.path( KUrl::AddTrailingSlash ) ) ) );
Soprano::QueryResultIterator it = m_model->executeQuery( query.toSparqlQuery(), Soprano::Query::QueryLanguageSparql );
- while ( it.next() ) {
- removeMetadata( it[0].uri() );
+ QList<Soprano::BindingSet> bindingsets = it.allBindings();
+
+ foreach( const Soprano::BindingSet & bs, bindingsets ) {
+ Resource resource( bs[0].uri() );
+ kDebug() << "removing metadata for resource uri : " << resource.resourceUri();
+ //kDebug() << " and file url : " << resource.property( Nepomuk::Vocabulary::NIE::url() ).toString();
+ resource.remove();
}
res.remove();
}
_______________________________________________
Nepomuk mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/nepomuk