< Projects | NepomukRevision as of 12:35, 9 February 2018 by Yurchor (talk | contribs) (Removed page from translation)(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff) Contents 1 The Query Library 2 Creating Queries 2.1 Examples 2.2 Introspecting Queries The Query Library Nepomuk provides a Query Library which is a part of the nepomuk-core library. It can be used to dynamically create queries. This Query Library eventually compiles the queries into Sparql which is then run on our database - virtuoso. It is recommended that you use the Query Library when you're searching for resources which have some direct properties. If the queries are too complex, maybe you should be directly using SPARQL. It all depends on your use case. The only advantage of using the QueryLibrary is that with improvements in the query library, your queries should get faster. Creating Queries The entire Query Library resides in the Nepomuk2::Query namespace. It consists of a number of terms which can be combined together to create larger terms. Eventually when you've have created the final term, you can pass it to Nepomuk2::Query::Query and run the query The different kinds of terms are - AndTerm OrTerm NegationTerm ComparisionTerm LiteralTerm ResourceTerm ResourceTypeTerm Examples Imagine we wanted to find all files that are tagged with a certain tag: Nepomuk::Tag myTag = someFancyMethod(); // term matching the tag Nepomuk::Query::ResourceTerm tagTerm( myTag ); // term matching tagged resource Nepomuk::Query::ComparisonTerm term( Soprano::Vocabulary::NAO::hasTag(), tagTerm, Nepomuk::Query::ComparisonTerm::Equal ); // build the query Nepomuk::Query::Query query( term ); Introspecting Queries The Query class provides convenient methods to convert the query into its relevant sparql query, which can then easily be read. Additionally, it also provides a toSearchUrl method. toSparqlQuery() - Creates a SPARQL query to be used in Soprano::Model::executeQuery toSearchUrl() - Creates a URL that can be listed via KIO. Retrieved from "https://techbase.kde.org/index.php?title=Projects/Nepomuk/QueryLibrary&oldid=99453" Categories: DocumentationDevelopmentTutorials This page was last edited on 9 February 2018, at 12:35. Content is available under Creative Commons License SA 4.0 unless otherwise noted.