Previous topic

Permissions

Next topic

Users

Contents

Welcome

Query language

FluidDB provides a simple query language that allows applications to search for objects based on their tags’ values. The following kinds of queries are possible:

  • Equality & Inequality: To find objects based on the numeric value of tags, e.g., tim/rating > 5, or exact textual values, e.g., geo/name = "Llandefalle".
  • Textual: To find objects based on text matching of their tag values, e.g., sally/opinion matches fantastic. Text matching is done with Lucene, meaning that Lucene matching capabilities and style will be available [1].
  • Presence: Use has to request objects that have a given tag. For example, has sally/opinion.
  • Set contents: A tag on an object can hold a set of strings. For example, a tag called mary/product-reviews/keywords might be on an object with a value of [ "cool", "kids", "adventure" ]. The contains operator can be used to select objects with a matching value. The query mary/product-reviews/keywords contains "kids" would match the object in this example.
  • Exclusion: You can exclude objects with the except keyword. For example has nytimes.com/appeared except has james/seen. The except operator performs a set difference.
  • Logic: Query components can be combined with and and or. For example, has sara/rating and tim/rating > 5.
  • Grouping: Parentheses can be used to group query components. For example, has sara/rating and (tim/rating > 5 or mike/rating > 7).

That’s it!

Query result limits

The main current limit is that queries may only return up to 1 million objects. If a query generates more than this, an error status is returned. If you need a higher limit, please email us.

Notes

[1]Text matching has not been implemented for the launch of the FluidDB private alpha. Expect it soon.