检索语言就是为沟通文献标引与文献检索而编制的人工语言,也是连接信息存储和检索两个过程中标引人员与检索人员双方思路的渠道,是用于文献标引和检索提问的约定语言。如果没有检索语言作为标引人员和检索人员的共同语言,就很难使得标引人员对文献信息内容的表达和检索人员对相同文献信息内容需求时的表达取得一致,信息检索也就不可能顺利实现。因此,编制检索语言的目的就是不但能够保证不同的标引人员描述文献特征的一致性,而且能够保证检索提问词与文献标引词的一致性。
![]() |
提示 |
|---|---|
系统使用的检索语言是CQL(Common Query Language),下面是对CQL语言的简单介绍,如想了解更详细信息,请参考CQL: http://www.loc.gov/standards/sru/cql/ | |
CQL语言简介
CQL:Common Query Language的简写,它是一种正式的检索语言。可以向检索系统发出检索请求,其检索表达式可以映射到具体的检索系统中去(例如:WFIRC、SQL等检索系统)。CQL是一种非常直观的检索语言,其设计目的是使人易读、易写。
CQL与传统检索语言的区别
传统的检索语言一般有两种情况:一种是功能强大而表达性强的语言,对于非专业人员既不容易读,也是不易写的(如SQL、PQF、XML Query);另一种是简单而直观的语言,它不能够表达复杂的一些概念(如CCL或Google的检索语言)。CQL的目的就是把检索表达的这种简单性和直观性与Z39.50的Type-1检索有机地结合在一起,就像界面上任何一个语法正确地文本一样,CQL可以特意定制一些如“do what you mean”作为一些简单的每天的查询。当然,如果需要的话,也允许使用一些方法表达复杂的概念。
简单词
表示不需要加入任何运算符和修饰符,直接输入检索词进行检索。例如:计算机。
关系表达式
关系运算符
=:
相当于模糊匹配,用于查找匹配一定条件的记录。例如:论文题名="计算机辅助设计 研究",表示查找论文题名是“计算机辅助设计 研究”这个字符串或是包括“计算机辅助设计 研究”的一串字符串,注意:只能在“计算机辅助设计 研究”的前后插入字符,不能在“计算机辅助设计 研究”字符串内插入任何字符。
精确等于某个值。
exact:能精确匹配一串字符串。例如:作者 exact "王明",是指查找作者是王明的记录。
all:当检索词中包含有多重分类时,它们分别可以被扩展成布尔运算符“and”的表达式。例如:论文题名 all "北京 上海 广州",可扩展为:论文题名="北京" and 论文题名="上海" and 论文题名="广州",表示查找论文题名中包括“北京、上海、广州”的记录。
any:当检索词中包含有多重分类时,它们分别可以被扩展成布尔运算符“or”的表达式。例如:论文题名 any "北京 上海 广州"可扩展为:论文题名="北京" or 论文题名="上海" or 论文题名="广州",表示查找论文题名中包括“北京、上海、广州”或其中之一的记录。
关系修饰符
支持通配符“*”。
*:表示匹配任意0个或多个字符,如果表示单个字符“*”,那么可以用转义字符“\*”来表示。例如:计算机*研究,表示查找包括“计算机研究”、“计算机软件研究”、“计算机辅助设计研究”等的记录。
布尔表达式
布尔运算符
and:用“与”组合检索项,表示查找包括这两项的记录。例如:北京 and 上海,表示查找包括北京和上海的记录。
or:用“或”组合检索项,表示查找包括这两项或仅其中任一项的记录。例如:北京 or 上海,表示查找包括北京和上海或其中之一的记录。
not:使用“非”查找包括某一项而非另一项的记录。例如:软件 not 硬件,表示查找包括软件但不包括硬件的记录。
下表为具体的检索样例。
表 8.1. 检索样例
| 检索词 | 含义 |
|---|---|
| 软件 | 检索数据库所有字段中含有“软件”的记录 |
| 论文标题 = 软件 | 检索数据论文标题字段中含有“软件”的记录 |
| 软件 and 测试 | 检索数据库所有字段中含有“软件”和“测试”的记录 |
| 软件 or 测试 | 检索数据库所有字段中含有“软件”或“测试”的记录 |
| 论文标题 = "软件" and 论文标题 = "测试" | 检索数据库论文标题字段中含有“软件”和“测试”的记录 |
| 论文标题 = "软件" or 论文标题 = "测试" | 检索数据库论文标题字段中含有“软件”或者“测试”的记录 |
| 论文标题 = "软件" not 论文标题 = "测试" | 检索数据库论文标题字段中含有“软件”但是不含有“测试”的记录 |
| 作者 exact "杨美琴" | 检索数据库作者字段精确为“杨美琴”的记录 |
| 企业名称 all "万方 股份 公司" | 检索数据库企业名称字段中含有“万方”和“股份”以及“公司”的记录 |
| 企业名称 any "万方 股份" | 检索数据库企业名字段中含有“万方”或“股份”的记录 |
| 论文标题= "软件" and 论文标题= "测试" not 作者="顾江萍" | 检索数据库论文标题字段中含有“软件”和“测试”,但是作者字段中不含有“顾江萍”的记录 |