CQL (англ. Contextual Query Language — контекстуальный язык запросов) — формальный язык для представления запросов к системам информационного поиска, таких как поисковые системы, библиографические каталоги и музейные информационные коллекции. Чаще всего применяется для обработки каталожных карточек в формате MARC.
Назначение CQL состоит в автоматизации процесса поиска и фильтрации данных, предоставляя возможность пользователю более точно определить требования к результатам поиска. Он позволяет задавать условия, связанные с различными атрибутами данных, такими как заголовок, автор, дата, тип и т. д.
CQL широко используется в библиотечных системах и информационных ресурсах, таких как базы данных, библиотечные каталоги и поисковые системы, чтобы сделать поиск и фильтрацию данных более точными и эффективными.
Примеры использования CQL включают запросы вида “найти все книги автора Анна Смит” или “найти все статьи о коронавирусе, опубликованные в 2021 году”. С помощью CQL можно также комбинировать условия запросов, использовать операторы сравнения, логические операторы и другие возможности для более сложного поиска и фильтрации данных.
Язык запросов построен на семантике Z39.50, цель его создания состояла в том, чтобы запросы могли быть легко прочитаны и написаны человеком, и речь была достаточно понятной при поддержке выражений более сложных языков запросов.
CQL разработан и поддерживается агентством поддержки Z39.50, входящим в состав Библиотеки Конгресса. В настоящее время возможности запросов на CQL перенесены в разработанные тем же агентством протоколы SRU/SRW, в которых добавлена поддержка SOAP и XML.
Преимущества Contextual Query Language:
1. Гибкость: С помощью языка CQL можно создавать сложные и точные запросы, используя различные типы фильтров и условий. Это позволяет более точно задавать параметры поиска и получать более релевантные результаты.
2. Неструктурированные данные: CQL позволяет работать с неструктурированными данными, такими как текст и изображения. Он может рассматривать текстовую информацию в контексте, учитывая семантические и лингвистические аспекты, что делает поиск более точным и полезным. Именно в этом и состоит основное преимущество CQL над SQL, и, соответственно, реляционными базами данных.
3. Человеко-ориентированность: CQL был разработан с учетом потребностей и языка выражения человека. Это означает, что пользователи не только могут использовать ключевые слова в запросе, но и использовать естественный язык, чтобы задать свои потребности.
Недостатки Contextual Query Language:
1. Сложность: CQL может быть сложным для понимания и использования для пользователей, которые не имеют опыта работы с языками запросов или программирования. Необходимость изучения и понимания синтаксиса и возможностей CQL может быть сложной задачей.
2. Зависимость от контекста: Поскольку CQL основан на контексте данных, результаты могут зависеть от контекста, в котором используется запрос. Это может вести к неточным или неоднозначным результатам при поиске информации.
3. Ограниченное применение: CQL может быть полезным при поиске неструктурированных данных, однако он не всегда может эффективно использоваться для более структурированных данных или баз данных с жесткими схемами. В таких случаях могут быть более эффективные способы поиска и фильтрации данных, к примеру SQL.