index Zurück zur Hilfe-Übersichthome Zurück zur Homepage

CQL – Die Suchliste

Jedes CQL-Skript muß auf oberster Ebene genau eine Suchliste haben. Die Suchliste beinhaltet Schlüsselwortparameter, die die Suche nach Partien kontrollieren. Die Suchliste enhält Null oder mehr Positionslisten. (Der CQL-Standard fordert mindestens eine Positionsliste.) Eine Partie wird nur dann gefiltert (aufgefunden), wenn alle Bedingungen in der Suchliste erfüllt wurden. Wenn Positionslisten existieren, dann muß jede von ihnen mindestens eine Position in der Partile filtern (auffinden), damit die Partie von der Suchliste gefiltert wird.

Viele Beispiele auf dieser Seite sind nicht kompatibel zum CQL-Standard, denn er fordert mindestens eine enthaltene Positionsliste.

Einige der Schlüsselwörter können mit einem vorangegangenen Ausrufungszeichen negiert werden, dies ist dann eine Kurzschreibweise; z.B. ist

(match !:ischess960)

eine Kurzschreibweise für

(match :not (match :ischess960))

Das Symbol im Titel einer Schlüsselwortdefinition kennzeichnet, daß dieses Schlüsselwort eine Erweiterung ist, also nicht zum CQL-Standard gehört.

Index

:and
:annotator
:averagerating
:averagerating*
:birthyear  •:whitebirthyear  •:blackbirthyear
:cond
:comment
:comment*
:country  •:whitecountry  •:blackcountry
:date
:deathyear  •:whitedeathyear  •:blackdeathyear
:eco
:eco*
:eithercolor
:elo  •:whiteelo  •:blackelo
:error
:event
:eventcategory
:eventcountry
:eventdate
:eventmode
:eventtype
:forany
:gamenumber
:gender  •:whitegender  •:blackgender
:goodgame
:hasannotation
:hascomments
:hasmarker
:hasspecialmarker
:hasvariations
:ischess960
:iscomputer  •:whiteiscomputer  •:blackiscomputer
:ishuman  •:whiteishuman  •:blackishuman
:isshufflechess
:not
:or
:output
:pgn
:player  •:whiteplayer  •:blackplayer
:plycount
:rating  •:whiterating  •:blackrating
:ratingdifference
:result
:round
:site
:startposition
:subround
:tag
:termination
:timemode
:title  •:whitetitle  •:blacktitle
:variant
:xor
:year

Schlüsselwörter für die Kontrolllogik

:and
:cond
:not
:or
:xor

:and (Und)

Erwartet eine Liste von Untersuchlisten und filtert nur dann eine Partie, wenn jede von ihnen diese Partie filtert. Eine Untersuchliste kann keine Positionslisten enthalten. Die Argumente werden von links nach rechts ausgewertet.

Beispiel:

(match
  :and (
    (match :isshufflechess)
    (match !:ischess960))))

Suche nach Shuffle-Schach-Partien, die keine Schach-960-Partien sind. Dieses Beispiel ist identisch zu:

Scheinbar ist dieses Schlüsselwort entbehrlich, doch es kann innerhalb von :or, :xor oder :cond benötigt werden.

:cond (Bedingte Auswertung)

Dieses Schlüsselwort wird in folgender allgemeinen Form angewandt:

:cond
  (match <Bedingung1>) (match <Ausdruck1>)
  (match <Bedingung2>) (match <Ausdruck2>)
  ...
  (match <Bedingungk>) (match <Ausdruckk>)

:cond erwartet eine beliebige Anzahl von Argumenten. Jedes Argument <Bedingungi> wird eine Klausel genannt, und jedes Argument <Ausdrucki> ist eine Assoziation. Es werden nacheinander alle Klauseln von links nach rechts ausgewertet, bis eine der Klauseln eine Partie filtern würde, dann ist das Resultat des gesamten Ausdrucks das Resultat der Auswertung der Klausel und der zugehörigen Assoziation. Wenn keine Klausel filtert, dann kann diese Partie nicht aufgefunden werden. Kein Argument darf Positionslisten enthalten.

Oftmals wird als letztes Paar ein Ausdruck der folgenden Form benötigt:

(match) (match <Ausdruckk>)

Die leere Suchliste filtert jede Partie. Dieser letzte Fall kann verkürzt ausgedrückt werden, indem das vorletzte Argument (match) weggelassen wird, dann wird in jedem Fall das Resultat des letzten Ausdrucks gewertet, wenn alle zuvorigen Klauseln nicht erfüllt werden.

Tatsächlich ist dieses Schlüsselwort redundant, denn die folgende Umformung ist äquivalent:

(match :or (
  (match <Bedingung1> <Ausdruck1>)
  (match <Bedingung2> <Ausdruck2>)
  ...
  (match <Bedingungk> <Ausdruckk>)))

Aber zum einen wird hier :cond zugelassen, um konform mit der Positionsliste zu sein, und zum anderen wird der :cond-Ausdruck etwas effizienter ausgeführt (beachte beispielsweise den Fall, das <Bedingung1> erfüllt wird, aber nicht <Ausdruck1>, dann wird der :or-Ausdruck mit der nächsten Liste fortgesetzt, während der :cond-Ausdruck sofort das Resultat von <Ausdruck1> liefert).

Ein Beispiel für die Anwendung von :cond:

(match
  :cond (
    (match :result 1-0) (match :whiteplayer "Kasparov, Garry")
    (match :result 0-1) (match :blackplayer "Kasparov, Garry")))

Findet alle Gewinnpartien mit "Kasparov, Garry". Dies ist jedoch nur ein Demonstrationsbeispiel, einfacher wäre hier:

(match
  :eithercolor
  :result 1-0
  :whiteplayer "Kasparov, Garry")

Siehe auch: :or.

:not (Nicht)

Dieses Schlüsselwort kann in zwei Formen angewandt werden: entweder ist es parameterlos, oder es hat eine Untersuchliste als Parameter. Im ersten Fall filtert dieses Schlüsselwort, wenn die Suchliste ohne dieses Schlüsselwort nicht filtern würde. Im zweiten Fall: das Resultat der Untersuchliste wird negiert. Die erste Form wurde definiert, um mit dem CQL-Standard des Schlüsselwortes :not der Positionsliste konform zu sein.

Beispiel:

(match :isshufflechess :not)

Suche nach Partien, die nicht mit einer Shuffle-Schach-Position starten. Dieses Beispiel kann auch mit der zweiten Form formuliert werden:

(match :not (match :isshufflechess))

Allerdings läßt dieses spezielle Beispiel eine noch einfachere Form zu:

(match !:isshufflechess)

:or (Oder)

Erwartet eine Liste von Untersuchlisten und filtert nur dann eine Partie, wenn mindestens eine von ihnen diese Partie filtert. Eine Untersuchliste kann keine Positionslisten enthalten. Die Argumente werden von links nach rechts ausgewertet.

Beispiel:

(match
  :or (
    (match :event "FIDE-Wch*"
    (match :event "PCA-World Championship*"))))

Suche nach Weltmeisterschaftspartien.

Siehe auch: :cond, :xor

:xor (Exklusives Oder)

Erwartet eine Liste von Untersuchlisten und filtert nur dann eine Partie, wenn genau eine von ihnen diese Partie filtert. Eine Untersuchliste kann keine Positionslisten enthalten. Die Argumente werden von links nach rechts ausgewertet.

Beispiel:

(match
  :xor (
    (match :hasmarker !)   ; Brillianz
    (match :hasmarker ?))) ; Schnitzer

Suche nach Partien, die mit Brillianz oder mit Schnitzer ausgezeichnet sind, aber nicht mit beiden Merkmalen.

Siehe auch: :cond, :or.

Schlüsselwörter für die Turniersuche

:event
:eventcategory
:eventcountry
:eventdate
:eventmode
:eventtype
:round
:site
:subround
:timemode

:event (Turnier)

Suche nach Partien deren Turnierbezeichnung mit dem gegebenen Muster übereinstimmt.

Als Argument wird entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette erwartet.

Einfache Zeichenkette: Nur Turniere, deren Bezeichnung den Parameter als Teilzeichenkette enthält, werden gefiltert. Der Zeichenkettenvergleich ist unabhängig von Groß- und Kleinschreibung.

Beispiel:

:event Berlin

Filtere nur Partien, in denen die Turnierbezeichnung eine Teilzeichenkette "Berlin" enthält.

Suchmuster in doppelten Anführungszeichen: Nur Turniere, deren Bezeichnung durch das Suchmuster ersetzt werden kann, werden aufgefunden. Für eine Beschreibung der Suchmuster siehe Suchmusterabgleich.

:eventcategory (Turnierkategorie)

Filtere alle Partien, deren FIDE-Kategorie des zugehörigen Turniers innerhalb der gegebenen Bereichsangabe liegt. In diesem Fall dürfen die numerischen Werte auch als römische Zahlen angeben werden.

Beispiele:

:eventcategory >=20
:eventcategory >=XX

In beiden Beispielen werden Partien gefiltert, die einem Turnier zugeordnet sind, deren FIDE-Kategorie mindestens XX ist.

:eventcategory 0

Eine besondere Bedeuting hat der Wert "0", hier werden nur Partuen gefiltert, deren zugeordneten Turnieren keine FIDE-Kategorie zugeorndet ist.

:eventcountry (Turnieraustragungsland)

Filtere nur Partien, deren Turnieraustragungsland mit einem der in der kommaseparierten Liste gegebenen Ländercodes übereinstimmt. Ein Ländercode ist entweder ein IOC-Ländercode , oder ein ISO 3166-2-Ländercode . Weiterhin sind die speziellen Ländercodes UNK (IOC-Form) und xx (ISO 3166-2-Form) erlaubt, die Partien filtern deren Turnieraustragungsland unbekannt ist. Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Ländercodes.

note Der ChessBase-Ländercode ist kein IOC-Ländercode, und deshalb nicht verwendbar.

Beispiele:

:eventcountry dk,fi,no,se

Suche nach Partien die im Skandinavischen Raum gespielt wurden.

:eventcountry xx

Suche nach Partien deren Turnieraustragungsland nicht bekannt ist.

Siehe auch: :site.

:eventdate (Turnierdatum)

Dies erwartet eine Angabe für den Datumsbereich, im dem das Turnierdatum (bzw. Ereignisdatum) liegen soll.

Für eine detaillierte Beschreibung des Datumsbereich siehe :date.

Beispiel:

:eventdate 1930 1935

Suche nach historischen Partien, deren Turnierdatum (bzw. Ereignisdatum) in den Jahren 1930 bis 1935 liegt.

:eventmode (Turniermodus)

Filtere nur Partien, deren Turniermodus mit einem der Modi in der gegebenen kommaseparierten Liste übereinstimmt.

Der Turniermodus ist eine der folgenden Modi:

  • unknown Turniermodus ist unbekannt
    otb Am Brett
    corr Fernschach
    email E-mail
    internet Internet-Schachservice
    tele Telekommunikation
    analysis Analyse
    composition Komposition

Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Turniermodi.

Beispiel:

:eventmode corr,email

Suche nach Fernpartien, oder nach via Email gespielten Partien.

:eventtype (Turniertyp)

Filtere nur Partien, deren Turniertyp mit einem der in der gegebenen kommaseparierten Liste von Turniertypen übereinstimmt.

Der Turniertyp ist einer der folgenden Typen:

  • unknown Turniertyp ist unbekannt
    game Freie Partie
    match Wettkampf
    tourn Rundenturnier
    knockout K.O.-Turnier
    swiss Schweizer System-Turnier
    team Mannschaftsturnier
    schev Scheveninger System-Turnier
    simul Simultanturnier

Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Turniertypen.

Beispiel:

:eventtype tourn,swiss

:round (Runde)

Suche nach Partien, deren Rundenangabe innerhalb der gegebenen Bereichsangabe liegt. Eine spezielle Bedeutung hat die Null, diese filtert Partien ohne Rundenangabe.

Beispiele:

(match :round 0)

Filtere alle Partien, die keine Rundenangabe haben.

(match :round 0 1)

Filtere alle Partien, die entweder keine Rundenangabe haben, oder die in Runde 1 gespielt wurden.

Siehe auch: :subround.

:site (Turnierort)

Suche nach Partien, deren Turnierort mit dem gegebenen Muster übereinstimmt.

Als Argument wird entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette erwartet.

Einfache Zeichenkette: Nur Turniere, deren Bezeichnung den Parameter als Teilzeichenkette enthält, werden gefiltert. Der Zeichenkettenvergleich ist unabhängig von Groß- und Kleinschreibung.

Beispiel:

:event Berlin

Filtere nur Partien, in denen die Turnierortsbezeichnung eine Teilzeichenkette "Berlin" enthält.

Suchmuster in doppelten Anführungszeichen: Nur Turniere, deren Turnierort durch das Suchmuster ersetzt werden kann, werden aufgefunden. Für eine Beschreibung der Suchmuster siehe Suchmusterabgleich.

Siehe auch: :eventcountry.

:subround (Unterrunde)

Suche nach Partien, deren Unterrundenangabe innerhalb der gegebenen Bereichsangabe liegt. Eine spezielle Bedeutung hat die Null, diese filtert Partien ohne Unterrundenangabe. Eine Partie ohne Rundenangabe kann niemals eine Unterrundenangabe besitzen.

Beispiele:

(match :subround 0)

Filtere alle Partien, die keine Unterrundenangabe haben.

(match :subround 0 1)

Filtere alle Partien, die entweder keine Unterrundenangabe haben, oder die in Unterrunde 1 gespielt wurden.

Siehe auch: :round.

:timemode (Zeitmodus)

Suche nach Partien, deren Zeitmodus mit einem der in der gegebenen kommaseparierten Liste von Zeitmodi übereinstimmt.

Der Zeitmodus ist einer der folgenden Modi:

  • unknown Zeitmodus ist unbekannt
    normal Normalschach
    rapid Schnellschach
    blitz Blitzschach
    bullet Bullet
    corr Fernschach

Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Zeitmodi.

Beispiel:

:timemode blitz,bullet

Suche nach Blitz- bzw. Bullet-Partien.

Schlüsselwörter für die Spielersuche

:averagerating  •:averagerating*
:birthyear  •:whitebirthyear  •:blackbirthyear
:country  •:whitecountry  •:blackcountry
:deathyear  •:whitedeathyear  •:blackdeathyear
:elo  •:whiteelo  •:blackelo
:gender  •:whitegender  •:blackgender
:iscomputer  •:whiteiscomputer  •:blackiscomputer
:ishuman  •:whiteishuman  •:blackishuman
:player  •:whiteplayer  •:blackplayer
:rating  •:whiterating  •:blackrating
:ratingdifference
:title  •:whitetitle  •:blacktitle

:averagerating (Durschnittliche Wertungszahl)

Diese Variante von :rating erwartet die gleichen Argumente, jedoch wird nach der durchschnittlichen Wertungszahl beider Spieler gesucht. Hat nur einer der Spieler eine Wertungszahl, so bildet diese den Durchschnitt.

Beispiel:

:averagerating ELO –

Finde alle Partien in denen beide Spieler keine ELO-Wertung besitzen.

Siehe auch: :averagerating*, :whiterating, :blackrating, :rating, :ratingdifference.

:averagerating* (Durschnittliche Wertungszahl)

Diese Variante von :averagerating erwartet die gleichen Argumente, jedoch werden hier nur Partien gefiltert, in denen beide Spieler eine Wertungszahl besitzen.

Beispiele:

:averagerating* ELO >=2500

Suche nach Partien, in denen die Spieler eine durchschnittliche ELO-Zahl von mindestens 2500 aufweisen. Es werden keine Partien gefiltert, in denen einer der Spieler keine ELO-Wertung aufweist.

Siehe auch: :averagerating, :whiterating, :blackrating, :rating, :ratingdifference.

:birthyear (Geburtsjahr)

Suche nach Partien, in denen einer der Spieler innerhalb der gegebenen Bereichsangabe geboren wurde.

Beispiel:

:birthyear >=1990

Suche nach Partien mit mindestens einem jüngeren Spieler, geboren 1990 oder später.

Siehe auch: :whitebirthyear, :blackbirthyear, :deathyear.

:blackbirthyear (Geburtsjahr – schwarzer Spieler)

Suche nach Partien, in denen der schwarze Spieler innerhalb der gegebenen Bereichsangabe geboren wurde.

Siehe auch: :whitebirthyear, :birthyear, :blackdeathyear, :whitedeathyear, :deathyear.

:blackcountry (Land – schwarzer Spieler)

Filtere nur Partien, in denen die Nationalität des schwarzen Spielers mit einem der Ländercodes in der gegebenen kommaseparierten Liste von Ländercodes übereinstimmt. Ein Ländercode ist entweder ein IOC-Ländercode , oder ein ISO 3166-2-Ländercode . Weiterhin sind die speziellen Ländercodes UNK (IOC-Form) und xx (ISO 3166-2-Form) erlaubt, die Partien filtern, in denen die Nationalität des schwarzen Spielers unbekannt ist. Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Ländercodes.

note Der ChessBase-Ländercode ist kein IOC-Ländercode, und deshalb nicht verwendbar.

Für Beispiele siehe :country.

Siehe auch: :country, :whitecountry.

:blackdeathyear (Todesjahr – schwarzer Spieler)

Suche nach Partien, in denen der schwarze Spieler innnerhalb der gegebenen Bereichsangabe verstarb.

Siehe auch: :whitedeathyear, :deathyear, :blackbirthyear, :whitebirthyear, :birthyear.

:blackelo (ELO – schwarzer Spieler)

Dieses Schlüsselwort erwartet eine Bereichsangabe; die ELO des schwarzen Spielers muß innerhalb dieses Bereichs liegen.

Siehe auch: :whiteelo, :elo, :blackrating.

:blackgender (Geschlecht – schwarzer Spieler)

Filtere nur Partien, in denen das Geschlecht des schwarzer Spielers mit dem gegebenen Geschlecht übereinstimmt. Die Geschlechtsangabe ist: f (feminin), m (maskulin, männlich), oder x (unbekannt). Anstatt f (feminin) kann auch w (weiblich) verwendet werden.

Beispiel:

:blackgender f

Suche nur nach Partien mit mindestens einem weiblichen Spieler.

:blackgender x

Suche nach Partien, in denen bei einem Spieler das Geschlecht nicht bekannt ist.

Siehe auch: :whitegender, :gender.

:blackiscomputer (Computer? – schwarzer Spieler)

Suche nach Partien, in denen der schwarze Spieler ein Schachcomputer ist.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:blackiscomputer)

Suche nach Partien, in denen der schwarze Spieler kein Schachcomputer ist.

Siehe auch: :iscomputer, :whiteiscomputer.

:blackishuman (Menschlich? – schwarzer Spieler)

Suche nach Partien, in denen der schwarze Spieler ein Mensch ist.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:blackishuman)

Suche nach Partien, in denen der schwarze Spieler kein Mensch ist.

Siehe auch: :ishuman, :whiteishuman.

:blackplayer (Schwarzer Spieler)

Suche nach Partien, in denen der schwarze Spielername mit dem gegebenen Muster übereinstimmt.

Als Argument wird entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette erwartet. Für eine detaillierte Beschreibung siehe bei :player.

Siehe auch: :player, :whiteplayer.

:blackrating (Wertungszahl – schwarzer Spieler)

Suche nur nach Partien, in denen die Wertungszahl des schwarzen Spielers für das gegebene Wertungssystem innerhalb der gegebenen Bereichsangabe liegt. Der erste Parameter ist das Wertungssystem, dann folgt der Wertebereich. Für eine detaillierte Beschreibung siehe :rating.

Siehe auch: :whiterating, :rating, :averagerating, :ratingdifference.

:blacktitle (Titel – schwarzer Spieler)

Suche nur nach Partien, in denen der Titel des schwarzen Spielers mit einem in der gegebenen kommaseparierten Liste von Titeln übereinstimmt. Siehe :title für eine detailliertere Beschreibung.

Siehe auch: :whitetitle, :title.

:country (Land)

Filtere nur Partien, in denen die Nationalität eines Spielers mit einem der Ländercodes in der gegebenen kommaseparierten Liste von Ländercodes übereinstimmt. Ein Ländercode ist entweder ein IOC-Ländercode , oder ein ISO 3166-2-Ländercode . Weiterhin sind die speziellen Ländercodes UNK (IOC-Form) und xx (ISO 3166-2-Form) erlaubt, die Partien filtern, in denen die Nationalität einer der Spieler unbekannt ist. Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Ländercodes.

note Der ChessBase-Ländercode ist kein IOC-Ländercode, und deshalb nicht verwendbar.

Beispiele:

:country GER
:country de

In beiden Beispielen werden nur Partien gefiltert, in denen einer der Spieler eine deutsche Nationalität besitzt.

Siehe auch: :whitecountry, :blackcountry.

:deathyear (Todesjahr)

Suche nach Partien, in denen einer der Spieler innnerhalb der gegebenen Bereichsangabe verstarb.

Beispiel:

:deathyear 1800 1950

Suche nach Partien mit Spielern aus alter Zeit, mindestens einer der Spieler vestarb zwischen 1800 und 1950.

Siehe auch: :whitedeathyear, :blackdeathyear, :whitebirthyear, :blackbirthyear, :birthyear.

:elo 

Dieses Schlüsselwort erwartet eine Bereichsangabe; die ELO von mindestens einem Spieler muß innerhalb dieses Bereichs liegen.

Beispiele:

:elo

Filtert alle Partien, in denen keiner der Spieler eine ELO-Wertungszahl hat.

:elo *

Filtert alle Partien, in mindestens einer der Spieler eine ELO-Wertungszahl besitzt.

Siehe auch: :averagerating, :averagerating*, :whiteelo, :blackelo, :rating.

:gender (Geschlecht)

Filtere nur Partien, in denen das Geschlecht einer der Spieler mit dem gegebenen Geschlecht übereinstimmt. Die Geschlechtsangabe ist: f (feminin), m (maskulin, männlich), oder x (unbekannt). Anstatt f (feminin) kann auch w (weiblich) verwendet werden.

Für Beispiele siehe :blackgender.

Siehe auch: :blackgender, :whitegender.

:iscomputer (Computer?)

Suche nach Partien, in denen einer der Spieler ein Schachcomputer ist.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:iscomputer)

Suche nach Partien, in denen keiner der Spieler ein Schachcomputer ist.

Siehe auch: :whiteiscomputer, :blackiscomputer.

:ishuman (Ein Mensch?)

Suche nach Partien, in denen einer der Spieler ein Mensch ist.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:ishuman)

Suche nach Partien, in denen keiner der Spieler ein Mensch ist.

Siehe auch: :whiteishuman, :blackishuman.

:player (Spieler)

Suche nach Partien, in denen der schwarze Spielername mit dem gegebenen Argument übereinstimmt: entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette.

Einfache Zeichenkette: Nur Partien, in denen mindestens einer der Spielernamen den Parameter als Teilzeichenkette enthält, werden gefiltert. Der Zeichenkettenvergleich ist unabhängig von Groß- und Kleinschreibung. Diese Form entspricht dem CQL-Standard.

Beispiel:

:player coeff

Filtere nur Partien, in denen einer der Spielernamen eine Teilzeichenkette "coeff" enthält.

Suchmuster in doppelten Anführungszeichen: Nur Partien, in denen mindestens einer der Spielernamen durch das Suchmuster ersetzt werden kann, werden aufgefunden. Für eine Beschreibung der Suchmuster siehe Suchmusterabgleich.

note Die Form mit den Suchmustern in doppelten Anführungszeichen entspricht nicht dem CQL-Standard.

Siehe auch: :whiteplayer, :blackplayer.

:rating (Wertungszahl)

Suche nur nach Partien, in denen die Wertungszahl einer der Spielers für das gegebene Wertungssystem innerhalb der gegebenen Bereichsangabe liegt. Der erste Parameter ist das Wertungssystem, dann folgt der Wertebereich.

Das Wertungssystem ist einer der folgenden Systeme:

ELO FIDE Rating
DWZ Deutsche Wertungszahl
ECF Englischer Schachverband
ACF Australischer Schachverband
USCF Schachverband der USA
Rapid Schnellturnierwertung der FIDE
Blitz Blitzturnierwertung der FIDE
ICCF Internationaler Fernschachverband
Edo Historische Schachwertung

Beispiel:

:rating ELO 2000 3000

Filtere nur Partien, in denen einer der Spieler eine ELO-Wertung zwischen 2000 und 3000 besitzt.

Siehe auch: :whiterating, :blackrating, :averagerating, :ratingdifference.

:ratingdifference (Wertungszahldifferenz)

Suche nach Partien, in denen beide Spieler eine Wertungszahl im spezifizierten Wertungssystem besitzen, deren Differenz innerhalb des gegebenen Bereichsangabe liegt. Der erste Parameter ist das Wertungssystem (siehe bei :rating), dann folgt der Wertebereich.

Beispiel:

:ratingdifference ELO <=500

Filtert alle Partien, in denen die ELO-Differenz der Spieler maximal 500 beträgt.

Siehe auch: :whiterating, :blackrating, :rating, :averagerating.

:title (Titel)

Suche nur nach Partien, in denen der Titel einer der Spieler mit einem in der gegebenen kommaseparierten Liste von Titeln übereinstimmt. Ein Titel ist einer der folgenden:

NoneKein Titel
GM Großmeister (FIDE)
IM Internationaler Meister (FIDE)
FM Fidemeister (FIDE)
CM Meisterkandidat (FIDE)
WGM Frauen - Großmeisterin (FIDE)
WIM Frauen - Internationale Meisterin (FIDE)
WFM Frauen - Fidemeisterin (FIDE)
WCM Frauen - Meisterkandidatin (FIDE)
HGM Ehrengroßmeister (FIDE)
CGM Fernschach-Großmeister (ICCF)
CIM Internationaler Fernschachmeister (ICCF)
CLGMFrauen - Fernschachgroßmeisterin (ICCF)
CLIMFrauen - Internationale Fernschachmeisterin (ICCF)
CSIMVerdienter Internationaler Fernschachmeister (ICCF)

Beispiele:

:title GM,IM

Suche nur nach Partien mit mindestens einem GM oder IM.

:title None

Suche nur nach Partien, in denen keiner der Spieler einen Titel besitzt.

:whitebirthyear (Geburtsjahr – weißer Spieler)

Suche nach Partien, in denen der weiße Spieler innerhalb der gegebenen Bereichsangabe geboren wurde.

Siehe auch: :blackbirthyear, :birthyear, :whitedeathyear, :blackdeathyear, :deathyear.

:whitecountry (Land – weißer Spieler)

Filtere nur Partien, in denen die Nationalität des weißen Spielers mit einem der Ländercodes in der gegebenen kommaseparierten Liste von Ländercodes übereinstimmt. Ein Ländercode ist entweder ein IOC-Ländercode , oder ein ISO 3166-2-Ländercode . Weiterhin sind die speziellen Ländercodes UNK (IOC-Form) und xx (ISO 3166-2-Form) erlaubt, die Partien filtern, in denen die Nationalität des weißen Spielers unbekannt ist. Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Ländercodes.

note Der ChessBase-Ländercode ist kein IOC-Ländercode, und deshalb nicht verwendbar.

Für Beispiele siehe :country.

Siehe auch: :blackcountry, :country.

:whitedeathyear (Todesjahr – weißer Spieler)

Suche nach Partien, in denen der weiße Spieler innnerhalb der gegebenen Bereichsangabe verstarb.

Siehe auch: :blackdeathyear, :deathyear, :whitebirthyear, :blackbirthyear, :birthyear.

:whiteelo (ELO – weißer Spieler)

Dieses Schlüsselwort erwartet eine Bereichsangabe; die ELO des weißen Spielers muß innerhalb dieses Bereichs liegen.

Siehe auch: :blackelo, :elo, :whiterating.

:whitegender (Geschlecht – weißer Spieler)

Filtere nur Partien, in denen das Geschlecht des weißen Spielers mit dem gegebenen Geschlecht übereinstimmt. Die Geschlechtsangabe ist: f (feminin), m (maskulin, männlich), oder x (unbekannt). Anstatt f (feminin) kann auch w (weiblich) verwendet werden.

Für Beispiele siehe :blackgender.

Siehe auch: :blackgender, :gender.

:whiteiscomputer (Computer? – weißer Spieler)

Suche nach Partien, in denen der weiße Spieler ein Schachcomputer ist.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:whiteiscomputer)

Suche nach Partien, in denen der weiße Spieler kein Schachcomputer ist.

Siehe auch: :iscomputer, :blackiscomputer.

:whiteishuman (Menschlich? – weißer Spieler)

Suche nach Partien, in denen der weiße Spieler ein Mensch ist.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:whiteishuman)

Suche nach Partien, in denen der weiße Spieler kein Mensch ist.

Siehe auch: :ishuman, :blackishuman.

:whiteplayer (Weißer Spieler)

Suche nach Partien, in denen der weiße Spielername mit dem gegebenen Muster übereinstimmt.

Ein Argument wird entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette erwartet. Für eine detaillierte Beschreibung siehe bei :player.

Siehe auch: :blackplayer, :player.

:whiterating (Wertungszahl – weißer Spieler)

Suche nur nach Partien, in denen die Wertungszahl des weißen Spielers für das gegebene Wertungssystem innerhalb der gegebenen Bereichsangabe liegt. Der erste Parameter ist das Wertungssystem, dann folgt der Wertebereich. Für eine detaillierte Beschreibung siehe :rating.

Siehe auch: :blackrating, :rating, :averagerating, :ratingdifference.

:whitetitle (Titel – weißer Spieler)

Suche nur nach Partien, in denen der Titel des weißen Spielers mit einem in der gegebenen kommaseparierten Liste von Titeln übereinstimmt. Siehe :title für eine detailliertere Beschreibung.

Siehe auch: :blacktitle, :title.

:annotator
:date
:eco
:eco*
:gamenumber
:hasmarker
:hasspecialmarker
:plycount
:result
:termination
:variant
:year

:annotator (Kommentator)

Suche nach Partien, in denen der Kommentatorname mit dem gegebenen Suchmuster übereinstimmt.

Als Argument wird entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette erwartet. Für eine Beschreibung der Suchmuster siehe Suchmusterabgleich.

Beispiele:

:annotator Capablanca

Suche nach Partien, in denen der Kommentatorname eine Teilzeichenkette "Capablanca" enthält.

:annotator "?*"

Suche nach Partien mit einem Kommentator, d.h. daß Partien ohne Kommentator ausgefiltert werden.

:annotator ""

Suche nach Partien ohne einen Kommentator (diese Partien können trotzdem Kommentierungen enthalten).

:annotator "*"

Dieses Kriterium findet alle Partien (und hat somit keinen Sinn).

Siehe auch: :hascomments.

:date (Partiedatum)

Ein Datumsbereich wird als Parameter erwartet, mit dem nur Partien gefiltert werden, deren Partiedatum innerhalb dieses Bereichs liegt.

Der Datumsbereich muß einer der folgenden Syntaxformen genügen:

2010-10-27 Bezeichnet ein einzelnes Datum.
>=2010-10-27 Einem einzelnen Datum kann ein Vergleichsoperator vorangestellt werden, der die gleiche Bedeutung hat wie bei den Bereichsangaben.
2010-10-01 2010-10-31 Bezeichnet einen Datumsbereich, inklusive der Schranken.
2010-10-01 .. 2010-11-01 Bezeichnet einen Datumsbereich, inklusive der linken Schranke, aber exklusive der rechten Schranke.

In der dritten Syntaxform ist es nicht erforderlich, daß die linke Schranke kleiner ist als die rechte Schranke. Der leere Datumsbereich (z.B. 2010-10-01 .. 2010-10-01) ist nicht erlaubt.

Ein Datum hat die folgende Form:

<jahr>'−'<monat>'−'<tag>(<signum><zahl>'y')?(<signum><zahl>'m')?(<signum><zahl>'d')?

<jahr> bezeichnet das Jahr (vierstellig)
<monat> bezeichnet den Monat (zweistellig)
<tag> bezeichnet den Tag des Monats (zweistellig)
<signum> ist entweder '−' oder '+'
<zahl> ist eine positive Zahl, und bezeichnet ein Inkrement oder ein Dekrement
d der Tag wird inkrementiert/dekrementiert
m der Monat wird inkrementiert/dekrementiert
y das Jahr wird inkrementiert/dekrementiert

Es sind zudem die speziellen Datumsbereiche und * erlaubt – siehe Bereichsangabe für eine Beschreibung.

Beispiele:

:date 2010-10-01

Suche nach allen Partien gespielt am 1. Oktober 2010.

:date >=2010-10-01

Suche nach allen Partien gespielt nach dem 30. September 2010.

:date 2010-10-01 .. 2010-11-01

Suche nach allen Partien gespielt im Oktober 2010: zwischen dem 1. Oktober 2010 (inklusive) und 1. November 2010 (exklusive).

:date 2010-10-01 .. 2010-10-01+1m

Suche ebenfalls nach allen Partien gespielt im Oktober 2010; die rechte Datumsangabe (2010-10-01+1m ist der 1. November 2010) ist ausgeschlossen. +1m bezeichnet das Inkrement für den Monat.

:date 2010-10-27 .. 2010-10-27-43d

Suche nach allen Partien gespielt zwischen dem 14. September 2010 (exklusive; 2010-10-27-43d ist der 14. September 2010) und dem 27. Oktober 2010 (inklusive). Dies ist ein Beispiel für den folgenden Fall: wir wissen daß das Turnier am 27.10.2010 endete, und die Turnierdauer war exakt 43 Tage. Dieses Beispiel stellt noch einmal heraus, daß die linke Datumsschranke größer sein darf als die rechte Datumsschranke.

:date

Suche nach Partien, die kein Partiedatum haben.

Siehe auch: :year.

:eco 

Erwartet eine kommaseparierte Liste von ECO-Code-Bereichen und filtert nur Partien mit einem ECO-Code, der in einem dieser Bereiche liegt. Zum Abgleich wird entweder der vom Benutzer gespeicherte ECO-Code verwendet, oder, wenn dieser nicht exisitiert, der automatisch ermittelte ECO-Code.

Beispiele für ECO-Code-Bereiche:

A00ECO-Code A00
B00-99ECO-Code-Bereich B00 bis B99

Es sind zudem die speziellen Wertebereiche und * erlaubt – siehe Bereichsangabe für eine Beschreibung. Sie können jedoch nicht Bestandteil einer Liste sein, sondern nur eine Liste ersetzen.

Beispiele:

:eco A00

Suche ausschließlich nach Partien mit ECO-Code A00.

:eco A11-39

Suche nur nach Partien mit der englischen Eröffnung.

:eco B00-99,C00-99

Suche nur nach Partien mit einem ECO-Code zwischen B00 und B99 (halb-offene Spiele), sowie zwischen C00 und C99 (offene Spiele).

:eco *

Suche nach allen Partien mit einem zugewiesenen ECO-Code, d.h. Partien ohne ECO-Codes sind ausgeschlossen.

Siehe auch: :eco*.

:eco* 

Diese Variante entspricht in der Handhabung dem Schlüsselwort :elo. Jedoch wird zum Abgleich nur der automatisch ermittelte ECO-Code verwendet, ein vom Benutzer zugewiesener ECO-Code wird nicht berücksichtigt.

Siehe auch: :eco.

:gamenumber (Partiennummer)

Erwartet eine Bereichsangabe, und filtert nur die Partien, deren Nummer in der Datenbank innerhalb des gegebenen Bereichs liegt.

Beachte daß im Falle von PGN-Archiven eine Partienummer mehrmals vorkommen kann, nämlich in verschiedenen Schachformen. Gegebenenfalls ist die Suche mit dem Schlüsselwort :variant einzuschränken.

Beispiele:

:gamenumber 1000
:gamenumber 1 100

:hasmarker (Partiemarkierung?)

Suche nach Partien, in denen mindestens eine Partiemarkierung (⇒ Partiemarkierungen) gesetzt ist, die in der gegebenen kommaseparierten Liste mit ihrem Kürzel aufgeführt wird. Wenn kein Parameter vorhanden ist so wird nach Partien gesucht, in denen irgendeine Partiemarkierung gesetzt wurde.

Die Kürzel für Partiemarkierungen sind:

w Weiße Eröffnung
b Schwarze Eröffnung
m Mittelspiel
e Endspiel
N Neuerung
p Bauernstruktur
T Taktik
K Königsseite
Q Damenseite
! Brillianz
? Schnitzer
U User
* Beste Partie
D Entscheidungsturnier
G Modellpartie
S Strategie
^ Angriff
~ Opferspiel
= Verteidigung
M Material
P Figurenspiel

Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Partiemarkierungen.

Beispiele:

:hasmarker w,b

Suche nach Partien mit den Markierung Weiße Eröffnung oder Schwarze Eröffnung (oder beiden).

:hasmarker

Suche nach Partien, in denen irgendeine Markierung gesetzt wurde; d.h. alle Partien ohne eine Markierung sind ausgeschlossen.

:hasspecialmarker (Spezielle Partiemarkierung?)

Suche nach Partien, in denen mindestens eine der speziellen Markierungen gesetzt ist, die in der gegebenen kommaseparierten Liste aufgeführt sind.

Eine spezielle Markierung wird folgendermaßen spezifiziert:

deleted Die Partie ist markiert zum Löschen.
changed Die Partie wurde in dieser Sitzung verändert.
added Die Partie wurde in dieser Sitzung hinzugefügt.
illegalmove Die Partie enthält regelwidrige Züge.
invalidmove Die Partie enthält unerlaubte Züge (Kinderschach-Unterstützung).

Beachte das ein unerlaubter Zug nicht zugleich als regelwidrig eingestuft wird. Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von speziellen Markierungen.

Beispiel:

:not (match :hasspecialmarker invalidmove)

Suche nach Partien ohne unerlaubte Züge, regelwidrige Züge (wie regelwidrige Rochade) sind jedoch zulässig.

:plycount (Halbzugzähler)

Suche nach Partien, deren Halbzugzahl innerhalb der gegebenen Bereichsangabe liegt.

Beispiel:

:plycount 40 60

Dies findet kurze Partien auf, mit nicht weniger als 20, und nicht mehr als 30 Züge.

:result (Ergebnis)

Suche nach Partien, deren Ergebnis mit einem in der gegebenen kommaseparierten Liste von Ergebnissen übereinstimmt.

Erlaubte Ergebnisse sind:

1/2 Remis
1-0 Weiß gewinnt
0-1 Schwarz gewinnt
0-0 Für beide Partien verloren (nicht Bestandteil des CQL-Standards)
* Ergebnis ist nicht bekannt (nicht Bestandteil des CQL-Standards)

Das Ergebnis 1/2 kann mit 1/2-1/2 ausgeschrieben werden.

Beispiele:

:result 1/2

Finde alle Remispartien.

:result 1-0,0-1

Finde nur Partien, in denen eine Seite gewann.

:termination (Beendigung)

Filtere nur Partien, in denen die Beendigungsursache mit einer der in der gegebenen kommaseparierten Liste von Ursachen übereinstimmt.

Erlaubte Beendigungsursachen sind:

unknown Die Beendigungsursache ist nicht bekannt
normal Die Partie endete auf normale Weise
abandoned Die Partie wurde abgebrochen
adjudication Abschätzung
disconnection Leitungsunterbrechung
emergency Aufgrund eines Ereignisses unvollendet
rulesinfraction Entschieden aufgrund einer Regelübertretung
timeforfeit Ein Spieler, oder sogar beide, überschritten die Zeit
unplayed Einer der Spieler forderte Remis
unplayed Partiegewinn ohne einen Gegner
unterminated Unvollendet

Beispiel:

:termination unknown,normal

Suche nur nach Partien, von denen bekannt ist, daß sie nicht in einer unnormalen Weise beendet wurden.

:variant (Schachform)

Suche nur nach Partien deren Schachform mit einer der Schachformen in der gegebenen kommaseparierten Liste übereinstimmt.

Erlaubte Schachformen sind:

normal Normalschach
three-check Dreimal-Schach
king-of-the-hill König-auf-dem-Hügel
dropchess Einsetzschach
crazyhouse Crazyhouse
chessgi Chessgi
antichess Schlagschach
suicide Suicide
giveaway Giveaway
losers Losers

Beispiel:

:variant suicide,giveaway,losers

Schränke die Suche auf Schlagschachpartien ein.

:year (Jahr)

Erwartet eine Bereichsangabe und filtert nur Partien, deren Jahr des Partiedatums innerhalb des gegebenen Bereichs liegt.

Beispiele:

:year 2000
:year 2000 2010

Siehe auch: :date.

Schlüsselwörter für die Partiedatensuche

:comment
:comment*
:error
:goodgame
:hasannotation
:hascomments
:hasvariations
:ischess960
:isshufflechess
:startposition
:tag

:comment (Kommentar)

Filtere nur Partien, in denen mindestens ein Kommentar eine Teilzeichenkette enthält, die vom gegebenen Suchmuster ersetzt werden kann (⇒ Suchmusterabgleich). Das Suchmuster muß in doppelten Anführungszeichen eingeschlossen sein. Der Teilzeichenkette kann optional eine kommaseparierte Liste von ISO 639-2 -Sprachcodes als Argument vorausgehen, mit der die Suche auf bestimmte Sprachen eingschränkt wird. Die folgenden Codes sind Erweiterungen:

xxSprachenunabhängiger Kommentar
yy Irgendeine Sprache außer Englisch (dies schließt nicht den sprachenunabhängigen Kommentar mit ein)

Beispiele:

:comment "Entscheidungspartie"

Dies findet beispielsweise eine Partie auf, die als Kommentierung den Satz "Diese Entscheidungspartie begann mit einer Überraschung." enthält.

:comment de,xx "Entscheidungspartie"

Die Kommentarsuche wird auf Deutsch und "Sprachenunabhängig" eingeschränkt.

Siehe auch: match:comment*. :hascomments,

:comment* (Kommentar)

Dieses Schlüsselwort enspricht dem Schlüsselwort :comment, nur wird hier nicht nach einer Teilzeichenkette gesucht, sondern der Kommentar muß vollständig vom Suchmuster ersetzt werden, damit die Partie gefiltert wird.

Siehe auch: match:comment. :hascomments,

:error (Fehler)

Suche nach Datenfehlern, die beim Importieren von Partien einer Scid- oder ChessBase-Datenbank auftraten.

None Es lag kein Fehler beim Dekodieren dieser Partie vor.
DecodingFailed Dieses Problem kann bei ChessBase-Datenbanken auftreten, in seltenen Fällen ist eine Dekodierung der Partiezüge nicht möglich.
GameDataCorrupted Es lag (wahrscheinlich) ein Datenfehler in der Datenbank vor.
ChecksumError Es lag ein Datenfehler beim Dekodieren einer ChessBase-Datenbank im alten DOS-Format vor, die Prüfsumme stimmte nicht.
IllegalStartPosition Dieses Problem könnte auftreten wenn eine ungültige Startposition vorliegt. Allerdings ist ein Auftreten dieses Problems bisher noch nicht bekannt.
CannotDecodeMove Beim Dekodieren der Partiedaten trat eine unerwartete Datensequenz auf.
UnexpectedEndOfStream Es trat ein unerwartetes Dateiende auf.

note Dieses Schlüsselwort ist privat, es ist nicht Bestandteil des CQL-S-Standards, und sollte auch niemals zum CQL-S-Standard gehören. Dies erlaubt jeder Applikation eine private Definition zur Suche nach Datenbankfehlern.

:goodgame (Gute Partie)

Dies entspricht in etwa der ChessBase-Einschätzung qualitativ guter Partien, und ist äquivalent zu:

(match
  ; Nur Partien mit normaler Zeitregelung.
  :timemode normal, corr
  ; Keine Simultanpartien.
  :not (match :eventtype simul)
  ; Keine Remispartien mit weniger als 40 Halbzügen,
  ; ansonsten keine Partien mit weniger als 16 Halbzügen.
  :cond (
    (match :result 1/2) (match :plycount >=40)
    (match :plycount >=16))
  ; Nur Partien mit einem Spieler eines höheren Titels,
  ; oder aber mit einer guten Wertungszahl.
  :or (
    (match :title IM,GM,WIM,WGM,CIM,CGM)
    (match :rating ELO >=2350)
    (match :rating DWZ >=2350)
    (match :rating ACF >=2350)
    (match :rating ECF >=220)
    (match :rating ICCF >=2350)
    (match :rating USCF >=2375)))

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:goodgame)

Suche nach qualitativ schlechteren Partien.

:hasannotation (Anmerkung?)

Suche nach Partien mit symbolischen Anmerkungen (⇒ NAG-Kommentarwerte).

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:hasannotation)

Suche nach Partien ohne symbolischen Anmerkungen.

Siehe auch: :hascomments, :hasvariations.

:hascomments (Kommentar?)

Suche nach kommentierten Partien. Beachte das eine kommentierte Partie keinen Kommentator (⇒ :annotator) haben muß.

Dieses Schlüsselwort läßt als Parameter eine optionale Liste von ISO 639-2 -Sprachcodes zu. Die folgenden Codes sind Erweiterungen:

xxSprachenunabhängiger Kommentar
yy Irgendeine Sprache außer Englisch (dies schließt nicht den sprachenunabhängigen Kommentar mit ein)

Der CQL-Editor biete eine Hilfe zur Unterstützung der Eingabe von Sprachcodes.

Beispiele:

:hascomments

Filtere Partien die Kommentare enthalten.

:hascomments de,en

Filtere nur Partien, die Kommentare in deutscher oder englischer Sprache enthalten.

Siehe auch: :hasannotation, :hasvariations, :comment.

:hasvariations (Varianten?)

Suche nach Partien mit Untervarianten.

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:hasvariations)

Suche nach Partien ohne Untervarianten.

Siehe auch: :hasannotation, :hascomments.

:ischess960 (Schach-960?)

Suche nach Partien beginnend mit einer Schach-960-Position. Dies beinhaltet die Standardstartposition. Dies ist eine Kurzschreibweise für:

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:ischess960)

Suche nach Partien, die nicht mit einer Schach-960-Position beginnen.

Siehe auch: :startposition. :isshufflechess,

:isshufflechess (Shuffle-Schach?)

Suche nach Partien beginnend mit einer Schuffle-Schach-Position. Dies beinhaltet Schach-960-Positionen. Dies ist eine Kurzschreibweise für:

Dieses Schlüsselwort kann auch in negierter Form – mit einem vorangestellten Ausrufungszeichen – verwendet werden. Beispiel:

(match !:isshufflechess)

Suche nach Partien, die nicht mit einer Schuffle-Schach-Position beginnen.

Siehe auch: :startposition. :ischess960,

:startposition 

Erwartet eine kommaseparierte Liste von Startpositionbereichen. Eine Startposition ist entweder eine Positionsnummer, oder eine FICS-Variantenbezeichnung. Ein Startpositionsbereich ist eine Folge von Startpositionen, wie z.B.

1-960

Dieser Bereich enthält die Positionen 1 bis 960.

Im Falle der Positionsnummer Null werden nur Partien gefiltert, die nicht mit einer Shuffle-Schach-Positionen beginnen, und auch nicht mit einer FICS-Variante. Eine Positionsnummer zwischen 1 und 3840 bezeichnet eine Shuffle-Schach-Position. Ist die Nummer kleiner oder gleich 960 (aber nicht Null), dann ist es eine Schach-960-Positionsnummer. Eine spezielle Bedeutung hat "*": dieses Symbol schließt alle Shuffle-Schach-Positionen und alle (unterstützten) FICS-Varianten ein.

Die Shuffle-Schach-Positionsnummer ist von der Schach-960-Positionsnummer in der folgenden Weise abgeleitet:

  1. Der König befindet sich zwischen zwei Türmen, und alle Rochaderechte sind gegeben: dies ist eine Schach-960-Position. Folglich ist die Nummer zwischen 1 und 960.
  2. Der König befindet sich rechts von den Türmen: die Nummer dieser Shuffle-Schach-Position ist zwischen 961 und 1920.
  3. Der König befindet sich links von den Türmen: die Nummer dieser Shuffle-Schach-Position ist zwischen 1921 und 2880.
  4. Der König befindet sich zwischen den beiden Türmen, hat aber keine Rochaderechte: addiere 3×960 zur entsprechenden Schach-960-Positionsnummer, folglich ist diese Nummer zwischen 2881 und 3840.

Für die Schachformen Suicide und Giveaway gilt eine spezielle Regel: hier ist die Positionsnummer N äquivalent zur Positionsnummer N−(3×960), wenn N > 3×960. Dies vereinfacht die Suche nach Standardpositionen; siehe untenstehendes Beispiel. Beachte das eine Startposition in diesen Schachformen keine Positionsnummer haben kann, die kleiner oder gleich 960 ist.

Es ist auch möglich eine FICS-Variantenbezeichnung für die Startposition anzugeben. Unterstützte Positionen sind:

misc/bishops-only endings/kbbk
misc/knights-only endings/kbnk
misc/little-game pawns/pawns-only
misc/no-queens pawns/wild-five
misc/pawns-only wild/5
misc/pyramid wild/7
misc/queen-rooks wild/8
misc/queens-only wild/19
misc/rooks-only
misc/runaway

Beispiele:

:startposition 518

Suche nach Partien beginnend mit einer Standardstartposition. Im Falle der Schachformen Suicide und Giveaway findet dies auch Startpositionen mit der Nummer 3398 (dies ist die Standardstartposition von Suicide- und Giveaway-Partien).

:startposition 518,3398

Suche nach Partien beginnend mit einer Standardstartposition, mit oder ohne Rochaderechte. Hier wird auch in der Normalschachform die Startpositionen 3398 aufgefunden, im Unterschied zum vorigen Beispiel.

:startposition 1-960,2881-3840

Filtere alle Partien mit einer Shuffle-Schach-Startposition, in der sich der König zwischen den Türmen befindet.

:startposition misc/runaway

Suche nach Partien der FICS-Variante misc/runaway.

:startposition 0 :not

Suche nach Partien, die mit einer Schuffle-Schach-Position starten.

:startposition *

Suche nach Partien beginnend mit irgendeiner unterstützen Startposition: dies bedeuetet das die erste Position dieser Partien entweder eine Schuffle-Schach-Position ist, oder eine der unterstützen FICS-Varianten.

Siehe auch: :ischess960, :isshufflechess.

:tag (Kennzeichen)

Suche nach Partien, in denen ein zusätzliches PGN-Kennzeichen exisistiert, dessen Name mit dem ersten Argument übereinstimmt, und dessen Wert mit dem gegebenen Suchmuster im zweiten Argument übereinstimmt. Fehlt das zweite Argument, dann werden alle Partien mit diesem Kennzeichen unabhängig von dessen Wert gefunden.

Als optionales zweites Argument wird entweder ein Suchmuster in doppelten Anführungszeichen, oder eine einfache Zeichenkette erwartet. Für eine Beschreibung der Suchmuster siehe Suchmusterabgleich.

Als spezieller Wert für das erste Argument ist * erlaubt. Dies filtert jedes PGN-Kennzeichen.

Beispiele:

:tag Source

Finde alle Partien, die das PGN-Kennzeichen Source definiert haben.

:tag WhiteTeamCountry USA

Dies findet beispielsweise jede Partie auf, die das PGN-Kennzeichen WhiteTeamCountry mit dem Wert USA enthält.

:tag * :not

Findet alle Partien, die kein zusätzliches PGN-Kennzeichen enthalten.

:tag * USA

Finde alle Partien mit einem beliebigen zusätzlichen PGN-Kennzeichen, das den Wert USA hat.

Schlüsselwörter für die Transformation

:eithercolor

:eithercolor (Beide Farben)

Führt einen Farbwechsel aus. Diese Farbwechseltransformation wirkt sich nicht auf Positionslisten aus.

Dies macht beispielsweise folgende Suche möglich:

(match (
  :result 1-0
  :whiteelo <=2300
  :blackelo >=2600
  :eithercolor))

Suche nach Partien in denen ein Spieler mit ELO 2300 oder geringer einen Spieler mit ELO 2600 oder höher besiegt.

Schlüsselwörter für das Markieren

:forany

:forany (Für jede)

Erwartet zwei Parameter, einen Markierungsnamen und einen Figurenartbezeichner. Diese Funktionalität wird auf der Seite Tagging beschrieben.

Bedeutungslose Schlüsselwörter

:output
:pgn

:output (Ausgabe)

Erwartet einen Parameter, der einen Dateinamen bezeichnet.

Dieses Schlüsselwort wird unterstützt um kompatibel mit dem CQL-Standard zu sein, es hat jedoch keinerlei Bedeutung in CQL-S.

:pgn

Erwartet einen Parameter, der einen Dateinamen bezeichnet.

Dieses Schlüsselwort wird unterstützt um kompatibel mit dem CQL-Standard zu sein, es hat jedoch keinerlei Bedeutung in CQL-S.