The syntax introduced so far is relatively straightforward to translate into SQL queries on an underlying relational database, but is somewhat unwieldy, and makes navigating paths of attributes from an object difficult. In this section we will introduce a series of extensions to this syntax intended either to make the query language easier to use, or to allow for queries expressed in previous versions of the query language. None of these extensions add to the expressive power of the language, and queries expressed using these extensions can be translated back into queries using only the constructs introduced above.