Nepomuk.Query.QueryParser

KDE 4.9 PyKDE API Reference

- KDE's Python API

# QueryParser Class Reference

`from PyKDE4.nepomuk import *`

Namespace: Nepomuk.Query

## Detailed Description

\class QueryParser queryparser.h Nepomuk/Query/QueryParser

Parser for desktop user queries.

Warning:
  This is NOT a SPARQL parser.

The QueryParser can be used to parse user queries, ie. queries that the user would enter in any search interface, and convert them into Query instances.

The syntax is fairly simple: plain strings match to LiteralTerm terms, URIs need to be N3-encoded, when using white space parenthesis need to be put around properties and values, terms can be excluded via '-'.

Examples

%Query everything that contains the term "nepomuk":

     nepomuk

%Query everything that contains both the terms "Hello" and "World":

     Hello World

%Query everything that contains the term "Hello World":

     "Hello World"

%Query everything that has a tag whose label matches "nepomuk" (actually this is where Query.resolveProperties would match "hastag" to nao:hasTag):

     hastag:nepomuk

%Query everything that has a tag labeled "nepomuk" or a tag labeled "scribo:

     hastag:nepomuk OR hastag:scribo

%Query everything that has a tag labeled "nepomuk" but not a tag labeled "scribo":

     +hastag:nepomuk AND -hastag:scribo

The parser can handle one special case of nesting (TODO: implement a "real" parser) which matches all resources that are related to a resource which in turn has a certain property:

     related:(hastag:nepomuk)

Author:
  Sebastian Trueg <trueg@kde.org>

Since:
  4.4

## Enumerations
ParserFlag | { NoParserFlags, QueryTermGlobbing, DetectFilenamePattern }
## Methods
| __init__ (self)
[Nepomuk.Types.Property] | matchProperty (self, QString fieldName)
Nepomuk.Query.Query | parse (self, QString query)
Nepomuk.Query.Query | parse (self, QString query, Nepomuk.Query.QueryParser.ParserFlags flags)
## Static Methods
Nepomuk.Query.Query | parseQuery (QString query)
Nepomuk.Query.Query | parseQuery (QString query, Nepomuk.Query.QueryParser.ParserFlags flags)

## Method Documentation

__init__ | ( |  | self ) |

Create a new query parser.

[Nepomuk.Types.Property] matchProperty | ( | self, |
|  | QString | fieldName
| ) |  |  |

Try to match a field name as used in a query string to actual properties.

The matching is cached inside the Query instance for fast subsequent lookups.

Example:

     hastag:nepomuk

Returns:
  A list of properties that match fieldName or an empty list in case nothing was matched.

This method is used by parse() to match properties used in user queries.

Nepomuk.Query.Query parse | ( | self, |
|  | QString | query
| ) |  |  |

Parse a user query.

Parameters:

  | query | The query string to parse

Parameters:

  | flags | a set of flags influencing the parsing process.

Returns:
  The parsed query or an invalid Query object in case the parsing failed.

Since:
  4.5

Nepomuk.Query.Query parse | ( | self, |
|  | QString | query,
|  | Nepomuk.Query.QueryParser.ParserFlags | flags
| ) |  |  |

Parse a user query.

Parameters:

  | query | The query string to parse

Parameters:

  | flags | a set of flags influencing the parsing process.

Returns:
  The parsed query or an invalid Query object in case the parsing failed.

Since:
  4.5

## Static Method Documentation

Nepomuk.Query.Query parseQuery | ( | QString | query
| ) |  |  |

Parameters:

  | query | The query string to parse

Parameters:

  | flags | a set of flags influencing the parsing process.

Since:
  4.6

Nepomuk.Query.Query parseQuery | ( | QString | query,
|  | Nepomuk.Query.QueryParser.ParserFlags | flags
| ) |  |  |

Parameters:

  | query | The query string to parse

Parameters:

  | flags | a set of flags influencing the parsing process.

Since:
  4.6

## Enumeration Documentation

ParserFlag

Flags to change the behaviour of the parser.

Since:
  4.5

Enumerator:

  NoParserFlags = 0x0 |
  QueryTermGlobbing = 0x1 |
  DetectFilenamePattern = 0x2 |