Da Z39.50 als Protokoll zwischen verschiedenen Datenbank-Anwendungen eingeführt wurde (Anwendungstransparenz), ist eine Syntax-Transformation von der Anfragesprache des Client in die des Servers notwendig. Um den dazu erforderlichen Aufwand zu minimieren, müssen die Suchanfragen vor der Übertragung in eine systemunabhängige Transfer-Syntax transformiert werden. Diese sollte so mächtig sein, daß sie möglichst alle in Frage kommenden lokalen Syntaxen abbilden kann.
Z39.50 unterstützt innerhalb seines Search-Dienstes eine Reihe von
Anfrage-Notationen. Dadurch soll eine weitgehend verlustfreie Konvertierung
der Anfrage von der Client-Anwendung nach Z39.50 und anschließend
in die Query-Syntax des Datenbanksystems ermöglicht werden. Von den
Implementierungen wird jedoch nicht verlangt, daß sie alle Query-Typen
unterstützen. Um aber ein Mindestmaß an Konformität zwischen verschiedenen
Applikationen zu erreichen, wurden innerhalb der Basic Services
Spezifikation die notwendigerweise zu unterstützenden Typen, Typ-0-
und Typ-1-Query, definiert. Ob weitere Arten genutzt werden können,
wird beim Verbindungsaufbau zwischen Client und Server entschieden.
Im folgenden werden alle Query-Typen, die in Z39.50-1995 definiert
sind, aufgelistet.
Die in Query Typ-1 benutzte RPNQuery ist ein hierarchischer Suchausdruck,
dessen Teilausdrücke durch AND, OR und AND-NOT verknüpft sind. Die
Definition erfolgt in der `Umgekehrt polnischen Notation', so daß
die Ausdrücke die Form (Term, Term, Operator) haben. Ein Beispiel
dafür ist: (((united nations and) UNICEF or) ILO not) .
(siehe weiter unten) sowie dem OID
-Attribut-Set, welches für einzelne Attribute definierte ID´s vergibt.
Die Typ-1 Query wurde in Z39.50-1995 (gilt nur ab dieser Version)
um die Elemente von Query-Typ-101 erweitert.