18143453325 在线咨询 在线咨询
18143453325 在线咨询
所在位置: 首页 > 营销资讯 > 信息时代 > 面向文本结构化查询语言(数据库)

面向文本结构化查询语言(数据库)

时间:2022-11-01 16:30:02 | 来源:信息时代

时间:2022-11-01 16:30:02 来源:信息时代

    面向文本结构化查询语言 : 一种基于SQL的文本结构查询语言。它通过扩展SQL语义来支持对文本数据库的结构化/非结构化查询。在文本数据库中,面向文本结构化查询语言比普通的文本内容形式查询语言具有更强的查询功能。
1.面向文本结构化查询语言的分类
在文本数据库中,随着文本结构/内容形式的多样化、用户文本查询需求的增加,单纯内容形式的查询已不能满足需求,因此需要提供特殊的面向文本结构化查询。文本结构化查询根据需求的不同分为三大类:
(1)固定结构查询(fixed structure queries):提供固定域查询功能,类似于关系数据库。这类查询作用于规则文本。规则文本是不包含嵌套关系或层次关系的文本。
(2)超文本查询(hypertext queries):主要提供超文本间导航查询功能。这类查询作用于超文本。
(3) 层次结构查询(hierarchical structure queries): 提供文本内或文本间的层次化查询功能,类似于XML数据库中的XPath查询。主要用于层次关系或嵌套关系的文本,如HTML、XML等形式的文本。
为了满足上述查询需求,通过扩展SQL标准,提出了一个面向文本结构化查询语言的概念。
2.面向文本的查询协议
通常,存在多种面向文本的查询协议,其中主要包括:
(1) Z39.50: 是ANSI和NISO在1995提出的一种文本查询协议,已广泛应用于文本数据库中。Z39.50定义了具体的查询语言和语义,并且还定义了文本数据库客户端和服务器端的会话,连接和信息交换等内容。
(2) WAIS(wide area information service): 是1990年提出的一个广域信息服务协议簇。在WAIS中,提供了文本查询功能,主要用于查询因特网上数据库文本信息。
(3) CCL(common command language):是NISO提出的一种Z39.50扩展协议。CCL以布尔模型为基础,提供了19类文本查询命令。
(4) SFQL(structural full-text query language):是一种SQL的扩展协议,提供多种文本结构查询功能。SFQL协议以关系模型为基础,其中的每个文本以单个元组形式存在,并且以SGML格式进行标识。SFQL查询语言格式基本类似于SQL,例如:
Select abstract from journal.papers where title contains “text search”
SFQL提供了丰富的查询操作符,包括布尔操作符、逻辑操作符、词典操作符、近似操作符等,例如:
Select abstract from journal.papers where paper contains “retrieval” or like “info%” and date>1/1/98
相对于其他文本查询协议,SFQL功能更强,可扩展性更好,最有可能成为面向文本结构化查询语言业界标准。
面向文本结构化查询语言(to-SQL)的基本格式定义如下:
Select{[Type-name] Variable | Function of Variables}
[Where condition]
其中: Type-name是要查询的文本内容的类型名。Variable代表查询结果。由于Variable前面的Type-name是可选的,当不存在时,则必定有Where子句对Variable进行约束。Function of Variables为内置函数,相当于SQL中的Count等内置函数。condition为查询条件,也就是查询约束,它是由变量和内置操作构造的逻辑表达式。Where字句是可省的。
3. 结构查询语言to-SQL的分类
查询语言to-SQL按查询需求的不同可归纳为四类,分别为: 简单结构查询; 内容约束的结构查询;结构约束的结构查询和结构与内容约束的结构查询。
(1)简单结构查询: 无任何其他约束条件的文本结构查询,例如:
Select Chapter x: 查询文本中所有论文的章节。
Select Section.Title x: 查询文本中所有的段标题。
Select Hierarchy(Doc) x: 查询文本中所有论文的目录。其中Hierarchy(.)是内置函数,用于返回参数变量所代表的对象的层次结构。
(2) 内容约束的结构查询: 包含内容约束条件的文本结构查询,例如:
Select Doc x Where x.Title contains: “结构化查询”查询所有标题中包含“结构化查询”字样的文本。
Select Chapter x Where x contains: “结构化查询”AND“文本分类”查询包含“结构化查询”和“文本分类”的章节。其中,contains所带的字符串表达式后面还可以跟比较符(>、<、=、>=、<=)和具体参数。
(3)结构约束的结构查询: 包含有结构约束条件的文本结构查询,例如:
Select Chapter x Where x contains Figure: 查询所有包含有图的章节。
Select x Where x Father Chapter: 查询父类为Chapter的所有数据对象,这里Father为内置操作。
Select x Where x Child(1) Title: 查询文本中第一个孩子结点为标题的所有对象,这里Child为内置函数。
(4)结构和内容约束的结构查询: 又叫做复杂结构查询,是即包含结构约束,又包含内容约束的文本结构查询,例如:
Select Doc x Where First (1,para,x) contains:“文本检索”查询第一段落包含“文本检索”的所有文档。这里First为内置函数。
Select Doc x Where (x.Title contains“文本检索”)AND
(x contains (Select Para y Where y contains“查询语言”))
查询标题包含“中文检索”并且有段落包含“查询语言”的所有文本。这是一个包含有子查询的复杂结构查询。

74
73
25
news

版权所有© 亿企邦 1997-2022 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭