[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