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

List:       kde-commits
Subject:    KDE/kdelibs/nepomuk/query
From:       Vishesh Handa <handa.vish () gmail ! com>
Date:       2011-01-26 14:34:53
Message-ID: 20110126143453.DA547AC8BA () svn ! kde ! org
[Download RAW message or body]

SVN commit 1217289 by vhanda:

Changes -
* Renamed some variables. It's easier to read this way
* Some comments
* Minor optimization by moving the regular expression outside the loop


 M  +15 -10    literalterm.cpp  


--- trunk/KDE/kdelibs/nepomuk/query/literalterm.cpp #1217288:1217289
@@ -54,21 +54,24 @@
 {
     Q_UNUSED(parentTerm);
 
+    const QString p1 = qbd->uniqueVarName();
+    const QString p2 = qbd->uniqueVarName();
     const QString v1 = qbd->uniqueVarName();
-    const QString v2 = qbd->uniqueVarName();
-    const QString v3 = qbd->uniqueVarName();
-    const QString v4 = qbd->uniqueVarName();
-    const QString containsPattern = createContainsPattern( v2, m_value.toString(), \
qbd ); +    const QString r2 = qbd->uniqueVarName();
+    const QString containsPattern = createContainsPattern( v1, m_value.toString(), \
qbd );  
+    // { ?r ?p1 ?v1 . containsPattern(v1) }
+    // UNION
+    // { ?r ?p1 ?r2 . ?r2 ?p2 ?v1 . ?v1 rdfs:subPropertyOf rdfs:label . \
containsPattern(v1) } .  return QString::fromLatin1( "{ %1 %2 %3 . %4 } "
                                 "UNION "
                                 "{ %1 %2 %5 . %5 %6 %3 . %6 %7 %8 . %4 } . " )
         .arg( resourceVarName,
+              p1,
               v1,
-              v2,
               containsPattern,
-              v3,
-              v4,
+              r2,
+              p2,
               Soprano::Node::resourceToN3(Soprano::Vocabulary::RDFS::subPropertyOf()),
                
               Soprano::Node::resourceToN3(Soprano::Vocabulary::RDFS::label()) );
 }
@@ -88,11 +91,12 @@
 
 QString Nepomuk::Query::LiteralTermPrivate::createContainsPattern( const QString& \
varName, const QString& text, Nepomuk::Query::QueryBuilderData* qbd )  {
+    Q_UNUSED( qbd );
     // each token with a negation flag
     QList<QPair<QString, bool> > containsTokens;
     QList<QPair<QString, bool> > regexTokens;
 
-    // we only support AND xor OR, not both at the same time
+    // we only support AND or OR, not both at the same time
     bool isUnion = false;
 
     // gather all the tokens
@@ -115,7 +119,7 @@
             currentToken.append(c);
         }
 
-        if( i == text.count()-1 ) {
+        if( i == text.length()-1 ) {
             tokenEnd = true;
         }
 
@@ -140,8 +144,9 @@
                 //
                 const QStringList subTokens = currentToken.split( QLatin1Char(' '), \
QString::SkipEmptyParts );  bool needsRegex = false;
+                QRegExp regex(QLatin1String("[\\?\\*]")); // The regex used to check \
if we needs a regex  Q_FOREACH( const QString& subToken, subTokens ) {
-                    const int i = subToken.indexOf( \
QRegExp(QLatin1String("[\\?\\*]")) ); +                    const int i = \
subToken.indexOf( regex );  if( i >= 0 && i < 4 ) {
                         needsRegex = true;
                         break;


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

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