Contextual Query Language (CQL) は、
情報検索システムにおける問い合わせ(クエリ)を表現するための
形式言語です。特に
検索エンジンや書誌データベース、博物館の所蔵品データベースなど、様々な
情報検索システムで利用されています。CQLは、かつて Common Query Language という名称で知られていました。
概要
CQLは、
Z39.50 の意味論(セマンティクス)を重視したセマンティック検索を基盤としています。その設計目標は、人間が読み書きしやすい直感的なクエリ構文でありながら、複雑な
問い合わせ言語の表現力を維持することです。この言語は、
アメリカ議会図書館の一部門である「
Z39.50メンテナンス局」によって開発と保守が行われています。
クエリ構文の例
以下に、CQLの様々なクエリ構文の例を挙げ、それぞれの意味と対応する日本語訳を示します。
簡単なクエリ
- 意味: 恐竜
- 意味: 「完全な恐竜」
- - `title = "complete dinosaur"`
- 意味: タイトルが「完全な恐竜」
- - `title exact "the complete dinosaur"`
- 意味: タイトルが完全に「the complete dinosaur」
Booleanを用いたクエリ
- 意味: 恐竜または鳥
- - `Palomar assignment and "ice age"`
- 意味: パロマーの割り当てと「氷河期」
- 意味: 恐竜でなく爬虫類
- - `dinosaur and bird or dinobird`
- 意味: 恐竜と鳥、またはディノバード
- - `(bird or dinosaur) and (feathers or scales)`
- 意味: (鳥または恐竜)で、かつ(羽または鱗)
- - `"feathered dinosaur" and (yixian or jehol)`
- 意味: 「羽毛恐竜」であり、かつ(義県または熱河)
索引(index)にアクセスする為のクエリ
- - `publicationYear < 1980`
- 意味: 公開年が1980年より前
- 意味: 大腿骨の長さが2.4より大きい
- 意味: 生物量が100以上
ドキュメント内の単語同士の近接(proximity)に基づくクエリ
- - `ribs prox/distance<=5 chevrons`
- 意味: 肋骨から5単語以内の距離にあるシェブロン
- - `ribs prox/unit=sentence chevrons`
- 意味: 肋骨と同じ文にあるシェブロン
- - `ribs prox/distance>0/unit=paragraph chevrons`
- 意味: 肋骨と同じ段落にあり、距離が0より大きいシェブロン
複数のディメンションにわたるクエリ
- - `date within "2002 2005"`
- 意味: 日付が2002年から2005年の間
- - `dateRange encloses 2003`
- 意味: 日付範囲が2003年を含む
適合性(relevance)に基づくクエリ
- - `subject any/relevant "fish frog"`
- 意味: 主題が魚またはカエルに適合
- - `subject any/rel.lr "fish frog"`
- 意味: 主題が魚またはカエルに
ロジスティック回帰で適合
後者の例では、
ロジスティック回帰という特定の
アルゴリズムを使用して適合性を判断することを指定しています。
脚注
CQL home page
Z39.50 Maintenance Agency
A Gentle Introduction to CQL