Other very useful documents on ACEDB query language are:
So how do you find out the class and tag names for the database you are interested in? All class and tag names are listed in the "model" or structure of the database. One of the first ACEDB queries you should do is list the database model (see the Examples). This will give you the information necessary to construct queries for the data you want to see.
It is important to list the model of every database you want to query because not all databases use the same model. Each organism has developed a database structure to suit their individual needs, although many class names and constructs are similar. This is the reason why some of the examples may work in one database but not in another.
Parentheses of all sorts "([{" can be used freely, but must be matched.
Words or strings are matched to a tag or treated as text. They must be put in "double quotes" if they include spaces or any operator &, |, ^, <, >, =, (, ), [, ], {, }. Wild cards (* for multiple characters or ? for a single character) can be used in words.
Good learning tools for those wishing to master ACEDB query syntax are Query by Example and Query Builder. Both return a formal query string, along with the query results when a query is submitted.
A common subfield query is to locate loci on a genetic map using the class Locus and tag Map. The information is stored in a sequence of subfields as in this sample:
Locus Location Map Hordeum-Graner2-7H Position 141 ^ ^ ^ ^ ^ class tag value tag value
find Locus Map = *7h AND NEXT AND NEXT > 140 AND HERE < 150
The first AND NEXT moves off the Map value (*7h), the second AND NEXT skips over the Position tag and evaluates the Position value, and the AND HERE stays on the Position value and evaluates it again.