Explication
Chess Query Language, abrégé CQL, permet de formuler une requête échiquéenne précise. Une requête est une description formelle de ce qu'il faut trouver, par exemple une pièce sur une case donnée, une séquence de coups, une position comportant un échec ou une combinaison de conditions. CQL est conçu pour rechercher des motifs dans des collections de parties et d'études.
Le flux de travail de base comporte deux étapes : écrire le motif en CQL, puis exécuter le programme cql sur un fichier PGN. PGN signifie Portable Game Notation et désigne un format texte servant à consigner des parties. CQL produit un autre fichier contenant les parties correspondantes. Le langage peut décrire des pièces, des cases et des séquences, intervertir les couleurs, refléter l'échiquier et utiliser des répétitions comparables aux expressions régulières, c'est-à-dire des règles indiquant combien de fois une partie du motif peut se répéter.
CQL n'est ni une question rédigée en langage courant, ni une notation servant à consigner une partie, ni une base de données en soi. Il faut apprendre ses règles d'écriture, et la requête détermine exactement ce qui est accepté comme correspondance. Une requête trop rigide peut omettre des exemples équivalents, tandis qu'une requête trop large peut renvoyer des positions qui ne présentent qu'une ressemblance superficielle.
Usage et contexte
CQL est particulièrement utile lorsque le critère recherché dépend de la géométrie échiquéenne ou de l'ordre des coups et ne peut pas être bien décrit par des champs comme le joueur, la date ou l'ouverture.
Confusions fréquentes
Recherche en langage naturel
CQL n'interprète pas une demande libre telle que « trouver de beaux sacrifices ». Sa grammaire doit préciser quelles pièces, cases, coups ou relations constituent le motif.
Format de stockage
CQL décrit une recherche. Les parties sont lues et écrites dans un autre format, généralement PGN.
Sources
- 1.CQL: The Chess Query Language, Gady Costeff
