[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    [nepomuk-core/testLibrary] lib: Properly reset the repository
From:       Vishesh Handa <handa.vish () gmail ! com>
Date:       2012-07-03 12:25:25
Message-ID: 20120703122525.1096AA60D3 () git ! kde ! org
[Download RAW message or body]

Git commit 601b61bbe8c4ddae44e902661a0be2918f7edf7c by Vishesh Handa.
Committed on 27/02/2012 at 15:43.
Pushed by vhanda into branch 'testLibrary'.

Properly reset the repository

Remove all the nepomuk resources.

We can't just remove the InstanceBase graphs cause some of the ontologies would
also get removed in the process.

M  +9    -6    lib/testbase.cpp

http://commits.kde.org/nepomuk-core/601b61bbe8c4ddae44e902661a0be2918f7edf7c

diff --git a/lib/testbase.cpp b/lib/testbase.cpp
index 893508c..bd93703 100644
--- a/lib/testbase.cpp
+++ b/lib/testbase.cpp
@@ -81,16 +81,19 @@ void Nepomuk::TestBase::cleanupTestCase()
 
 void Nepomuk::TestBase::resetRepository()
 {
-    kDebug() << "Reseting the repository ..";
-    QString query = "select ?r where { graph ?g { ?r ?p ?o. } . ?g a nrl:InstanceBase . }";
+    kDebug() << "Reseting the repository";
+    QTime timer;
+    timer.start();
+
+    QString query = "select ?r where { ?r ?p ?o. FILTER(regex(str(?r), '^nepomuk')) . }";
     Soprano::Model * model = Nepomuk::ResourceManager::instance()->mainModel();
     
     Soprano::QueryResultIterator it = model->executeQuery( query, Soprano::Query::QueryLanguageSparql );
-    QList<Soprano::Node> resources = it.iterateBindings( 0 ).allNodes();
-
-    foreach( const Soprano::Node & node, resources ) {
-        model->removeAllStatements( node, Soprano::Node(), Soprano::Node() );
+    while( it.next() ) {
+        model->removeAllStatements( it[0], Soprano::Node(), Soprano::Node() );
     }
+
+    kDebug() << "Time Taken: " << timer.elapsed()/1000.0 << " seconds"; 
 }
 
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic