The syntax of Z39.50 is abstracted from the underlying database structure; for example, if the client specifies an author search (Use attribute 1003), it is up to the server to determine how to map that search to the indexes it has at hand. This allows Z39.50 queries to be formulated without having to know anything about the target database; but it also means that results for the same query can vary widely among different servers. One server may have an author index; another may use its index of personal names, whether they are authors or not; another may have no suitable index and fall back on its keyword index; and another may have no suitable index and return an error.
An attempt to remedy this situation is the Bath Profile. It was named after Bath, England, where the working group first met in 1999. This document rigidly specifies the exact search syntax to employ for common bibliographic searches, and the expected behavior of Bath-compliant servers in response to these searches. Implementation of the Bath Profile has been slow but is gradually improving the Z39.50 landscape.