解説
Chess Query Language、略してCQLを使うと、精密なチェス検索を記述できます。クエリとは、特定のマスにある駒、着手手順、チェックを含む局面、複数条件の組み合わせなど、探す対象を形式的に示す記述です。CQLは、対局集やスタディ集の内部からパターンを検索するために設計されています。
基本的な流れは2段階です。まずCQLでパターンを書き、次にPGNファイルに対してcqlプログラムを実行します。PGNはPortable Game Notationの略で、対局を記録するテキスト形式です。CQLは一致した対局を含む別のファイルを生成します。この言語は、駒、マス、手順を記述し、色を入れ替え、盤を反転し、正規表現に似た反復を使えます。反復規則は、パターンの一部が何回繰り返せるかを指定します。
CQLは日常言語で書く質問でも、対局を記録する表記でも、それ自体がデータベースでもありません。記述規則を学ぶ必要があり、何を一致とみなすかはクエリが厳密に決めます。条件が厳しすぎると同等の例を見落とし、広すぎると表面的に似ているだけの局面まで返すことがあります。
用法と背景
CQLは、検索条件がチェスの幾何学や着手順に依存し、プレイヤー、日付、オープニングなどの項目では十分に表現できない場合に特に有用です。
よくある混同
自然言語検索
CQLは「美しいサクリファイスを探す」のような自由文を解釈しません。どの駒、マス、着手、関係がパターンを構成するかを文法で表す必要があります。
保存形式
CQLは検索を記述します。対局の読み書きには別の形式、通常はPGNを使います。
出典
- 1.CQL: The Chess Query Language, Gady Costeff
