+The current query language for the find command is a bit awkward, but
+functional:
+
+query ::= ['@attrset' <attribute-set>] rpn
+rpn ::= complex | simple | attr rpn
+complex ::= operator rpn rpn
+operator ::= '@and' | '@or' | '@not' | '@prox' proximity
+simple ::= term | set.
+term ::= <word> | '"' <term> ... '"'.
+set ::= '@set' <setname>.
+attr ::= '@attr' [<attribute-set>] <number> '=' <number>.
+proximity ::= exclusion distance ordered relation which unit
+exclusion ::= '1' | '0' | 'void'
+distance ::= <number>
+ordered ::= '1' | '0'
+relation ::= <number>
+which ::= 'known' | 'private'
+unit ::= <number>
+
+Eg.:
+
+Andersen
+
+"Hans Andersen"
+
+@and @attr 1=1 andersen @attr 1=4 @attr 4=2 duckling
+
+@attrset Bib-1 @and @attr GILS 2=2008 Washington @attr 1=21 weather
+
+The sort command takes a sequence of sort specifications. A sort
+specification holds a field (sort criteria) and is followed by flags.
+If the sort critieria includes = it is assumed that the sort SortKey
+is of type sortAttributes using Bib-1. The integer before the = is
+the attribute type and the integer following the = is the attribute
+value. If no = is in the SortKey it is treated as a sortfield-type
+of type InternationalString. Flags observed are s (sort case
+sensitive), i (sort case insensitive), < (ascending), > (descending).
+Eg.:
+ 1=4 i< (use is title, insensitive, ascending).
+ Title s> (String Title, sensitive, descending).
+