توضیح
Chess Query Language، با اختصار CQL ، به کاربر امکان میدهد پرسوجویی دقیق درباره شطرنج بسازد. پرسوجو توصیفی رسمی از چیزی است که باید پیدا شود، مانند مهرهای روی خانه مشخص، توالی حرکتها، وضعیتی دارای کیش یا ترکیبی از چند شرط. CQL برای جستوجوی الگوها در مجموعه بازیها و مطالعات طراحی شده است.
گردش کار پایه دو بخش دارد: الگو را با CQL بنویسید و سپس برنامه cql را روی یک فایل PGN اجرا کنید. PGN به معنای Portable Game Notation و قالبی متنی برای ثبت بازیهاست. CQL فایل دیگری شامل بازیهای منطبق تولید میکند. زبان میتواند مهرهها، خانهها و توالیها را توصیف کند، رنگها را جابهجا سازد، صفحه را بازتاب دهد و از تکرارهایی شبیه عبارتهای منظم استفاده کند، یعنی قواعدی که میگویند بخشی از الگو چند بار میتواند تکرار شود.
CQL پرسشی به زبان روزمره، نمادگذاری ثبت بازی یا خودِ یک پایگاه داده نیست. قواعد نوشتاری آن باید آموخته شوند و پرسوجو دقیقاً تعیین میکند چه چیزی تطابق محسوب میشود. پرسوجوی بیش از حد سختگیرانه ممکن است نمونههای همارز را از دست بدهد و پرسوجوی بیش از حد گسترده ممکن است وضعیتهایی با شباهت سطحی بازگرداند.
کاربرد و بافت
CQL بهویژه زمانی سودمند است که هدف به هندسه شطرنج یا ترتیب حرکات وابسته باشد و با فیلدهایی مانند بازیکن، تاریخ یا گشایش بهخوبی توصیف نشود.
اشتباههای رایج
جستوجوی زبان طبیعی
CQL درخواستی آزاد مانند «قربانیهای زیبا را پیدا کن» تفسیر نمیکند. دستور زبان آن باید مهرهها، خانهها، حرکتها یا رابطههای سازنده الگو را بیان کند.
قالب ذخیرهسازی
CQL یک جستوجو را توصیف میکند. بازیها از قالب دیگری، معمولاً PGN، خوانده و در آن نوشته میشوند.
منابع
- 1.CQL: The Chess Query Language, Gady Costeff
