一种基于实时策略的本体模型生成及管理装置及方法转让专利

申请号 : CN201210009400.X

文献号 : CN102609402B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李睿吕江花马世龙

申请人 : 北京航空航天大学

摘要 :

本发明提出了一种基于On-the-Fly策略的本体模型生成及管理装置及方法。装置包括本体编辑器、模型生成器、模型显示器和本体查询器等,用户通过本体编辑器编辑本体文件,通过模型生成器实时生成本体模型,通过模型显示器显示本体模型中元素关系,用户通过本体查询器可查询当前本体模型中的关系。方法通过分析本体文件,将其主要内容分为静态和动态两部分,静态部分采用自动机提取当前本体文件中静态信息生成对应模型,动态部分为当前本体文件编辑处的文本信息,以On-the-Fly的方式在当前状态处动态地提取和绑定修改赋值,递进地生成模型。本发明只针对需要的部分重新构建模型,有利于缩短模型生成的时间,节约系统资源。

权利要求 :

1.一种基于On-the-Fly策略的本体模型生成及管理装置,其特征在于,该装置包括:

本体编辑器(1)、模型生成器(2)、模型显示器(3)、本体查询器(4)、本体库(5)和用户界面(7);

本体编辑器(1)中包含语法规则库以及模板库,用户在本体编辑器(1)中新建空白的本体文件或者利用模块库中的模板新建本体文件进行编辑,或者读取本体库(5)中的本体文件进行编辑,编辑后的本体文件保存至本体库(5)中;本体编辑器(1)提供有对本体文件进行导入、导出、保存和删除的维护功能;

模型生成器(2)读取本体编辑器(1)中当前编辑完成的本体文件,并解析本体文件中的数据,得到本体文件的静态信息和编辑处的文本信息,采用基于On-the-Fly策略的本体模型生成方法生成本体模型,具体是:采用自动机提取当前本体文件中的静态信息构造本体文件静态部分的模型,然后在基于静态部分的模型的基础上,实时地针对本体文件编辑处的文本信息,动态地提取和绑定修改的赋值,递进地生成最终的本体模型;

模型显示器(3)对模型生成器(2)生成的本体模型,进行可视化显示,提供了两种图形方式来直观的显示出本体模型中类与类的关系、实例与类的关系以及实例与实例的关系,两种图形方式为:通过循环查找节点的子类生成树状图,和通过查找节点的邻居节点生成关联图;

本体查询器(4)解析用户查询请求,在模型生成器(2)所生成的本体模型上执行查询,得到查询结果返回给用户界面(7);

用户界面(7)提供了一个可视化的图形界面给用户,用户通过用户界面(7)操作本体编辑器(1)或者输入用户查询请求,用户界面(7)传递用户查询请求给本体查询器(4),并将本体查询器(4)返回的查询结果显示给用户。

2.根据权利要求1所述的一种基于On-the-Fly策略的本体模型生成及管理装置,其特征在于,所述的本体编辑器(1)包括文本编辑框、属性视图和类视图三部分;文本编辑框用于用户对本体文件进行编辑,并依据语法规则库中定义的语法规则对文件编辑部分进行语法检测,若发现错误则进行提示;类视图用于显示本体文件中所包含的所有类,并提供了能够快速定位类在文件中的位置的功能;属性视图用于显示类所具有的属性,也就是类与类之间的关系。

3.根据权利要求2所述的一种基于On-the-Fly策略的本体模型生成及管理装置,其特征在于,所述的本体编辑器(1)具有语法检测功能,具体是:从本体文件的文档声明开始,检查每一个开始标记和结束标记是否成对出现、元素是否正确嵌套、文本文件中是否存在单个开始标记或者单个结束标记,用不同颜色的高亮显示所检测出的语法错误。

4.根据权利要求1所述的一种基于On-the-Fly策略的本体模型生成及管理装置,其特征在于,所述的模型生成器(2)解析当前本体编辑器(1)中编辑完成的本体文件,得到本体文件的静态信息和编辑处的文本信息,将采用自动机提取静态信息构造的静态部分的模型作为原模型,再对编辑处的文本信息通过语义单元检测和模型动态修正生成最终的文本模型;

其中,语义单元检测的具体过程是:首先记录编辑语句所在的位置,从第一处编辑的地方开始,首先判断该编辑语句是否完整,若语句不完整,提示存在语法错误,需要进行修改;

若语句完整,则确定该编辑语句所属的句型,是A型、B型还是C型,接着向上检索最近的A型语句,并向下检索对应的C型语句,将检索得到的AWC作为编辑语句所在的最小语义单元,W表示句子集合;对所有的编辑语句重复语义单元检测的过程,直到所有被编辑的最小语义单元都识别出来;所述的A型句型为:<构造子标记=概念名称|关系类型>,所述的B型句型为:<构造子标记=概念名称|关系类型/>,所述的C型句型为:

模型动态修正的具体过程是:针对通过语义单元检测识别出的各最小语义单元,首先遍历原模型,定位该最小语义单元在原模型中的位置,然后采用自动机生成该最小语义单元的当前模型,最后用该最小语义单元的当前模型替换该最小语义单元在原模型中的位置;重复模型动态修正的过程,直到所有被识别的最小语义单元在原模型中的位置。

5.根据权利要求1所述的一种基于On-the-Fly策略的本体模型生成及管理装置,其特征在于,所述的本体查询器(4)提供了两种查询方法:第一种:基于关键字的检索方式,具体是根据用户查询请求中输入的检索关键字,得到所有与关键字匹配的模型元素的列表,对列表中的元素进行进一步的查询,得到结果列表,当选择结果列表中的一个元素,就得到了本体模型关联图的一个导出子图,该子图中包含选择的元素对应的顶点以及所有与所选择的顶点相邻的顶点,以及顶点之间的所有边;

第二种:基于可视化的交互式查询方式,具体是利用鼠标同显示的拓扑图元进行交互,以查询它们所代表的模型元素的详细信息,详细信息将以数据表格的形式返回给用户,所述的模型元素包括:类、实例和对象属性;类的详细信息包括类名、类的所有数据类型属性名和类型;实例的详细信息包括实例的名字、从属类,以及实例的所有属性的名字、类型和取值;对象属性的详细信息包括类与类之间的关系。

6.根据权利要求1所述的一种基于On-the-Fly策略的本体模型生成及管理装置,其特征在于,所述的本体模型生成及管理装置还包括数据库(6),用于备份本体库(5)中的数据。

7.应用权利要求1所述的本体模型生成及管理装置的基于On-the-Fly策略的本体模型生成及管理方法,其特征在于,该方法包括如下步骤:步骤1:用户通过用户界面(7)在本体编辑器(1)中编辑本体文件,具体在本体编辑器(1)中新建空白的本体文件进行编辑,或者利用模块库中的模板新建本体文件进行编辑,或者读取本体库(5)中的本体文件进行编辑;所述的本体编辑器(1)中包含语法规则库和模板库;

步骤2:将编辑完成的本体文件保存至本体库(5)中,同时用户根据需要,通过本体编辑器(1)对本体文件进行导入、导出、保存或者删除操作;

步骤3:模型生成器(2)读取本体编辑器(1)中当前编辑完成的本体文件,并解析本体文件,得到本体文件的静态信息和编辑处的文本信息,采用基于On-the-Fly策略的本体模型生成方法生成本体模型;

采用基于On-the-Fly策略的本体模型生成方法生成本体模型,具体是:

步骤3.1:自动机提取本体编辑器(1)中当前的本体文件中的静态信息,生成静态部分的模型;

步骤3.2:判断当前本体文件是否处于编辑状态,若处于编辑状态,转至步骤3,若不处于编辑状态,转步骤1;

步骤3.3:记录编辑语句所在的位置,判断被编辑语句的完整性,若语句完整,确定该编辑语句所属的句型,是A型、B型还是C型,并向上检索最近的A型语句,向下检索对应的C型语句,获取AWC形式的最小语义单元,W表示句子集合,若语句不完整,则提示用户存在语法错误,需要进行修改;A型句型为:<构造子标记=概念名称|关系类型>,B型句型为:<构造子标记=概念名称|关系类型/>,C型句型为:

步骤3.4:自动机提取所识别的所有最小语义单元的信息,生成对应的最小语义单元的模型;

步骤3.5,针对各最小语义单元,遍历原模型,定位各最小语义单元在原模型中的位置,然后用自动机生成的最小语义单元的模型,替换该最小语义单元在原模型中的位置的模型;所述的原模型是指采用自动机提取静态信息所构造的静态部分的模型;

步骤4:模型显示器(3)对模型生成器(2)生成的本体模型中类与类的关系、实例与类的关系以及实例与实例的关系,提供了两种图形方式来直观地显示,两种图形方式为:通过循环查找节点的子类生成树状图,和通过查找节点的邻居节点生成关联图;

步骤5:若显示的文本模型与预期不一样,用户调出本体文件到本体编辑器(1)中进行修改,然后转步骤2执行;

步骤6:用户通过用户界面(7)输入用户查询请求,用户界面(7)传递用户查询请求给本体查询器(4),本体查询器(4)解析用户查询请求,在模型生成器(2)所生成的本体模型上执行查询,得到查询结果返回给用户界面(7)显示给用户。

8.根据权利要求7所述的基于On-the-Fly策略的本体模型生成及管理方法,其特征在于,所述的步骤1中,用户在本体编辑器(1)中进行本体文件编辑时候,本体编辑器(1)还提供语法检测功能,具体是指:从本体文件的文档声明开始,检查每一个开始标记和结束标记是否成对出现、元素是否正确嵌套、文本文件中是否存在单个开始标记或者单个结束标记,用不同颜色的高亮显示所检测出的语法错误。

9.根据权利要求7所述的基于On-the-Fly策略的本体模型生成及管理方法,其特征在于,所述的步骤6中提供了两种查询方法:第一种:基于关键字的检索方式,具体是根据用户查询请求中输入的检索关键字,得到所有与关键字匹配的模型元素的列表,对列表中的元素进行进一步的查询,得到结果列表,当选择结果列表中的一个元素,就得到了本体模型关联图的一个导出子图,该子图中包含选择的元素对应的顶点以及所有与所选择的顶点相邻的顶点,以及顶点之间的所有边;

第二种:基于可视化的交互式查询方式,具体是利用鼠标同显示的拓扑图元进行交互,以查询它们所代表的模型元素的详细信息,详细信息将以数据表格的形式返回给用户,所述的模型元素包括:类、实例和对象属性;类的详细信息包括类名、类的所有数据类型属性名和类型;实例的详细信息包括实例的名字、从属类,以及实例的所有属性的名字、类型和取值;对象属性的详细信息包括类与类之间的关系。

说明书 :

一种基于实时策略的本体模型生成及管理装置及方法

技术领域

[0001] 本发明属于本体建模领域,对领域本体的构建及管理,具体涉及提供一种基于On-the-Fly策略的本体模型生成及管理装置及方法。

背景技术

[0002] 目前,在国内外的公司和研究机构实现的一些本体编辑工具中,有些也具有可视化模型生成的功能。这其中最为出色也是使用最为广泛的是美国斯坦福大学医学院(Stanford Medical informatics)开发的本体编辑工具。模型生成并不是其主要的功能,其在模型生成方面,仅仅只能清晰地展示本体中类以及类的层次关系;而不能表示本体中的角色关系。
[0003] 在计算机科学与信息科学领域,本体(ontology)指一种“形式化的,对于共享概念体系的明确而又详细的说明”。本体提供的是一种共享词表,也就是特定领域之中那些存在着的对象类型或概念及其属性和相互关系。本体语言是指用于构建本体的形式语言。它是一种描述性语言,使用户可以为领域模型编写清晰的、形式化的概念描述,满足良好定义的语法和语义,具有充分的表达能力等。随着本体研究的不断深入,诞生了多种本体描述语言,例如RDF、RDF-S、OWL、XOL等。它们之间有着密切的联系,属于W3C(全球万维网联盟)本体语言栈中不同层次描述语言,且都是基于XML的。
[0004] 对本体文件进行可视化建模是一种将文本信息、领域知识和数据转化为可视的表示形式,以此提供一种对本体文件快速理解的辅助手段。应用领域的本体建模涉及该领域大量不同粒度的概念、概念所具有的属性、概念的实例、相关概念等各个方面。本体模型由相互联系的不同层次概念、概念的属性以及概念的实例组成,既有上下的层次关系,又有概念间的平行关系。因此概念及关系等一些静态信息的提取是本体模型构建的前提。
[0005] 自动机是有限状态的数学模型。每个状态可以迁移到零个或多个状态,输入字串决定执行哪个状态的迁移。自动机不仅在理论上有价值,其在文本处理等领域也得到了应用。例如用于XML文档处理的树自动机。通过扫描XML文档,得到独立的元素,然后构造结点树,每个结点代表一个可以与之交互的对象。这种方式在构造整个文档结点树前都要对XML文档进行解析,优点是一次解析并保留文档的所有信息,清晰准确,方便随意访问。领域本体通常具有比较大的本体文件,因为一个领域中所涉及的概念关系是非常复杂的,所以在对领域本体建模中所遇到的基本上都会是比较大、所描述关系比较复杂的本体文件,而在自动机对领域本体进行建模时就会占用大量资源,开销很大,会大大降低计算机的使用性能。

发明内容

[0006] 本发明针对基于自动机解析本体时占用资源大,解析效果不好,在文档较大时,导致计算机使用性能降低的问题,提出了一种基于On-the-Fly策略的本体模型生成及管理装置及方法。与传统基于自动机解析本体方法相比较,本发明不需要在每次对本体文件进行编辑后都重新生成模型,只针对需要的部分重新构建模型,有利于缩短模型生成的时间,节约系统资源。
[0007] 本发明提出的一种基于On-the-Fly策略的本体模型生成及管理装置,包括:本体编辑器、模型生成器、模型显示器、本体查询器、本体库、数据库和用户界面。
[0008] 本体编辑器中包含语法规则库以及模板库,用户在本体编辑器中新建空白的本体文件或者利用模块库中的模板新建本体文件进行编辑,或者读取本体库中的本体文件进行编辑,编辑后的本体文件保存至本体库中;本体编辑器提供有对本体文件进行导入、导出、保存和删除的维护功能。本体库用于保存本体文件。
[0009] 模型生成器读取本体编辑器中当前编辑完成的本体文件,并解析本体文件中的数据,得到本体文件的静态信息和编辑处的文本信息,采用基于On-the-Fly策略的本体模型生成方法生成本体模型,具体是:采用自动机提取当前本体文件中的静态信息构造本体文件静态部分的模型,然后在基于静态部分的模型的基础上,实时地针对本体文件编辑处的文本信息,动态地提取和绑定修改的赋值,递进地生成最终的本体模型。
[0010] 模型显示器对模型生成器生成的本体模型,进行可视化显示,提供了两种图形方式来直观的显示出本体模型中类与类的关系、实例与类的关系以及实例与实例的关系,两种图形方式为:通过循环查找节点的子类生成树状图,和通过查找节点的邻居节点生成关联图。
[0011] 本体查询器解析用户查询请求,在模型生成器所生成的本体模型上执行查询,得到查询结果返回给用户界面。
[0012] 用户界面提供了一个可视化的图形界面给用户,用户通过用户界面操作本体编辑器或者输入用户查询请求,用户界面传递用户查询请求给本体查询器,并将本体查询器返回的查询结果显示给用户。
[0013] 一种基于本发明的On-the-Fly策略的本体模型生成及管理平台的管理方法,具体是:
[0014] 步骤1:用户通过用户界面在本体编辑器中编辑本体文件,具体在本体编辑器中新建空白的本体文件进行编辑,或者利用模块库中的模板新建本体文件进行编辑,或者读取本体库中的本体文件进行编辑;所述的本体编辑器中包含语法规则库和模板库;
[0015] 步骤2:将编辑完成的本体文件保存至本体库中,同时用户根据需要,通过本体编辑器对本体文件进行导入、导出、保存或者删除操作;
[0016] 步骤3:模型生成器读取本体编辑器中当前编辑完成的本体文件,并解析本体文件,得到本体文件的静态信息和编辑处的文本信息,采用基于On-the-Fly策略的本体模型生成方法生成本体模型;
[0017] 步骤4:模型显示器对模型生成器生成的本体模型中类与类的关系、实例与类的关系以及实例与实例的关系,提供了两种图形方式来直观地显示,两种图形方式为:通过循环查找节点的子类生成树状图,和通过查找节点的邻居节点生成关联图;
[0018] 步骤5:若显示的文本模型与预期不一样,用户调出本体文件到本体编辑器中进行修改,然后转步骤2执行;
[0019] 步骤6:用户通过用户界面输入用户查询请求,用户界面传递用户查询请求给本体查询器,本体查询器解析用户查询请求,在模型生成器所生成的本体模型上执行查询,得到查询结果返回给用户界面显示给用户。
[0020] 本发明的优点和积极效果在于:
[0021] (1)保留了基于自动机的本体信息提取方法的优点-高效、灵活和通用性,同时,结合On-the-Fly策略针对编辑的语义单元局部重构模型,使得模型生成更快,系统资源占用更少。
[0022] (2)提供本体文件编辑环境,包括用于自动语法检测的语法规则库以及编辑模板库,简化本体建模的过程,提高了建模效率。
[0023] (3)丰富的用户交互功能便于从各种层面对模型进行分析。
[0024] (4)图形导航方式的查询不仅能查询到所要检索的结果,同时能显示被检索信息的上下文关系。

附图说明

[0025] 图1为本发明的本体模型生成及管理装置的整体结构图;
[0026] 图2为本发明的本体模型生成及管理方法的整体流程图;
[0027] 图3为本发明基于On-the-Fly策略的本体模型生成方法的过程示意图;
[0028] 图4为自动机提取本体静态信息的示例图;
[0029] 图5为本发明的用户界面提供的本体模型图形化显示状态的示意图;
[0030] 图6为采用本发明进行本体语义查询的过程示意图。

具体实施方式

[0031] 下面将结合附图和实施例对本发明作进一步的详细说明。
[0032] 首先,对On-the-Fly技术进行说明,On-the-Fly指的动态出现的行为,而非静态的、预先确定的行为所导致的必然结果,直译为“实时的、即时的”。实际上在本体文件编辑过程中,用户对本体文件进行编辑就是动态因素,它的变化影响着最后生成的本体模型。采用On-the-Fly策略,通过定位本体文件中的动态因素以及它的影响范围,只对修改影响的范围进行重新解,。这样可以有效缓解自动机文件解析资源开销过快的问题。
[0033] 本发明采用基于RCP(Rich Client Platform,富客户端平台)的C/S(Client/Server,客户机/服务器)架构设计并实现本体模型生成及管理装置。
[0034] 如图1所示,本发明的一种基于On-the-Fly策略的本体模型生成及管理装置包括如下部分:本体编辑器1、模型生成器2、模型显示器3、本体查询器4、本体库5、数据库6和用户界面7。
[0035] 本体编辑器1包含语法规则库以及模板库,依据语法规则库所制定的本体规则指导领域本体文件的编辑,并对本体文件提供有导入、导出、保存、删除等维护功能。本体编辑器1包括文本编辑框、属性视图和类视图三部分。文本编辑框用于对本体文件的直接编辑;类视图用于显示本体文件中所包含的所有类,快速定位类在文件中的位置;属性视图用于显示类所具有的属性,即类与类之间的关系。用户在本体编辑器1中可以新建空白的本体文件进行编辑,或者利用模块库中的模板新建本体文件进行编辑,或者读取本体库5中的本体文件进行编辑,编辑后的本体文件保存至本体库5中。本体编辑器1具有语法检测功能,具体是指:从本体文件的文档声明开始,检查每一个开始标记和结束标记是否成对出现,元素是否正确嵌套,不允许出现交叉嵌套的现象,即文本文件中不能有单个开始标记或者单个结束标记出现。对不同的语法错误使用不同颜色的高亮显示。
[0036] 模型生成器2运行于后台,读取本体编辑器1中当前编辑完成的本体文件,并解析本体文件中的数据,抽取关键信息,实时生成本体模型。模型生成器2采用基于On-the-Fly策略的本体模型生成方法生成模型,所采用的生成方法针对本体文件中的静态和动态两部分分别进行处理,动态部分为当前本体文件编辑处的文本信息。静态部分采用自动机提取当前本体文件中静态信息,构造对应的静态部分的模型,然后在基于静态部分的模型的基础上,以On-the-Fly的方式在当前状态处动态地提取和绑定本体文件编辑处的文本信息所修改的赋值,递进地生成模型。所提取静态信息中的类以及属性在本体编辑器1的类视图和属性视图中显示。
[0037] 模型显示器3对模型生成器2生成的本体模型,进行可视化显示。模型显示器3以两种不同的图形方式直观的显示出类与类的关系、实例与类的关系以及实例与实例的关系。一种图形方式是循环查找节点的子类生成树状图,另一种图形方式是不断查找节点的邻居节点生成关联图。模型显示器3通过各种鼠标事件监听器提供用户交互功能,响应用户输入,完成包括平移、缩放、类层次结构图显示、关联结构图显示、实例显示等功能。模型显示器3还提供了本体模型导出功能,可将本体模型以图片模式导出并保存。
[0038] 本体查询器4在模型生成器2生成的本体模型上执行解析后的用户查询请求,调用查询方法进行检索,并返回查询结果给用户界面7。查询方法主要为基于关键字的检索和基于可视化的交互式查询两种方式。
[0039] 基于关键字的检索方式,指的是根据用户查询请求中输入的检索关键字,得到所有与关键字匹配的模型元素的列表,并且对列表中的元素进行进一步的查询。当选择结果列表中的一个元素(所述的元素是一个类),就可以得到本体模型关联图的一个导出子图,这个子图中包含选择的类对应的顶点以及所有与所选择的顶点相邻的顶点,以及这些顶点之间的所有边。所得到的导出子图就是查询结果。
[0040] 基于可视化的交互式查询方式,指的是利用鼠标同显示的拓扑图元(顶点和边)进行交互,以查询它们所代表的模型元素(类,实例,对象属性)的详细信息,这些信息将以数据表格的形式返回给用户。类的详细信息应包括类的名字,以及类的所有数据类型属性的名字、类型;实例的详细信息应包括实例的名字、从属类,以及实例的所有属性的名字、类型和取值;对象属性的详细信息应包括类与类之间的关系。
[0041] 本体库5用于保存本体文件。用户可在该本体库5中通过人工方式将不同领域本体进行归类整理。
[0042] 数据库6用于对本体库5中的本体文件进行备份。本体文件可以从本体库5中读取,也可以直接从数据库6中读取。在从本体库5中读取本体文件发生错误时,从数据库6中恢复原始文件到本体库5中。
[0043] 用户界面7提供可视化的图形界面给用户,以方便用户与计算机的交互。用户通过用户界面7操作本体编辑器1或者输入用户查询请求,用户界面7传递用户查询请求给本体查询器4,并将本体查询器4返回的查询结果显示给用户。
[0044] 模型生成器2解析本体编辑器1当前编辑完成的本体文件,得到本体文件的静态信息和编辑处的文本信息。本体模型的生成分为静态部分和动态部分,静态部分就是指本体文件的静态信息的模型生成,动态部分就是指本体文件中编辑处的文本信息的模型的生成。
[0045] 本体的结构是一个五元组O:={C,R,Hc,rel,A0},其中C表示概念,R表示关系,c cH 表示概念的层次,例如H(C1,C2)表示C1是C2的子概念,rel表示概念间的关系,例如
0
rel(R)=(C1,C2)表示概念C1和概念C2之间具有关系R,A 表示用某种逻辑语言表示的一组本体公理。本体文件中有三种表示方式:
[0046] 句型1:<构造子 标记=概念名称|关系类型>,例如
[0047] 句型2:<构造子 标记=概念名称|关系类型/>,例如
[0048] 句型3:,例如。
[0049] 其中,构造子分为基本构造子和关系构造子,基本构造子描述类(Class)、属性(Property)、实例(Instance)等基本概念;关系构造子描述类继承(subClassOf)、属性继承(subPropertyOf)、值域(Range)、定义域(Domain)等关系。分别用A、B、C表示句型1、句型2和句型3,用a、b、c表示构造子、标记名、概念名称|关系类型,用W表示句子集合,用T表示名值对,则本体的语法可用如下文法表示:
[0050] 1、S=>AWC
[0051] 2、W=>AWCW|BW
[0052] 3、W=>AC|B
[0053] 4、A=>|
[0056] 7、T=>b=c
[0057] 其中构造子a以及对应的概念名称|关系类型c是需要提取出来的静态信息。静态部分直接采用自动机提取当前本体文件中静态信息构造对应的模型。
[0058] 动态部分为当前本体文件编辑处的文本信息。具体是通过语义单元检测和模型动态修正,生成实时的文本文件的模型。语义单元检测,输入是编辑处的语句,检测的目的是判断当前编辑的语句的影响范围,输出为当前编辑的语句所在的最小语义单元。模型动态修正,输入是语义单元检测出来的最小语义单元,输出是生成的语义单元模型,并将其替换到对应的原语义单元在原文本模型中的位置。
[0059] 语义单元检测具体过程是:首先记录编辑语句所在的位置,编辑语句的个数P>0,可能修改一处也可能进行多次修改,从第一处编辑的地方开始,首先判断该编辑语句是否完整,若语句完整则判断该编辑语句所属句型,是A型、B型还是C型,接着向上检索最近的A型语句,并向下检索对应的C型语句,此时AWC为编辑语句所在的最小语义单元。重复这一过程,直到所有被编辑的语义单元被识别出来。
[0060] 模型动态修正具体过程是:将采用自动机提取静态信息构造的静态部分的模型作为原模型。针对通过语义单元检测识别出的各语义单元,首先遍历原模型,定位该语义单元在模型中的位置,然后采用自动机生成该语义单元的当前模型,最后用生成的当前模型替换语义单元在原模型中的位置。重复这一过程,直到所有被编辑的语义单元(也就是所有被语义单元检测识别出的语义单元)在原模型中对应的模型均被替换,最终得到所需要的本体模型。
[0061] 如图2所示,基于本发明提供的本体模型生成及管理装置的本体模型生成及管理方法具体为:
[0062] 步骤1:本体编辑器1包括语法规则库以及模板库,用户通过用户界面7在本体编辑器1上进行本体文件的编辑。用户可以使用模板库中提供的初始模板直接进行编辑,也可以使用空白模板进行编辑。用户也可以打开已有的本体文件,并在其上进行编辑。同时,本体编辑器1还提供有依据语法规则库中定义的语法规则对文件编辑部分进行语法检测的功能,并提供错误提示服务。本体编辑器1具有语法检测功能,具体是指:从本体文件的文档声明开始,检查每一个开始标记和结束标记是否成对出现,元素是否正确嵌套,不允许出现交叉嵌套的现象,即文本文件中不能有单个开始标记或者单个结束标记出现。对不同的语法错误使用不同颜色的高亮显示。
[0063] 步骤2:将编辑完成的本体文件保存至本体库5中,同时用户根据需要,通过本体编辑器1对本体文件进行导入、导出、保存或者删除操作。
[0064] 步骤3:模型生成器2读取本体编辑器1中当前编辑完成的本体文件,并解析该本体文件,抽取出其中关键信息,得到本体文件的静态信息和编辑处的文本信息,采用基于On-the-Fly策略的本体模型生成方法生成本体模型,具体是:采用自动机提取当前本体文件中的静态信息构造本体文件静态部分的模型,然后在基于静态部分的模型的基础上,实时地针对本体文件编辑处的文本信息,动态地提取和绑定修改的赋值,递进地生成最终的本体模型。
[0065] 步骤4:模型显示器3对模型生成器2生成的本体模型中类与类的关系、实例与类的关系以及实例与实例的关系,提供了两种图形方式来直观地显示,两种图形方式为:通过循环查找节点的子类生成树状图,和通过查找节点的邻居节点生成关联图。
[0066] 模型显示器3还通过各种鼠标事件监听器提供用户交互功能,响应用户通过用户界面7的输入,完成包括平移、缩放、类层次结构图显示、关联结构图显示、实例显示等功能。
[0067] 模型显示器3提供模型导出功能,可将模型以图片模式导出并保存。
[0068] 步骤5:若显示的文本模型与预期不一样,用户从本体库5中或文件保存位置调出该本体文件到本体编辑器1中进行修改,然后转步骤2执行,重新生成本体模型并显示。
[0069] 步骤6:本体查询器4接收用户通过用户界面7发送来的用户查询请求,解析该查询请求,调用查询方法在当前模型生成器2所生成的本体模型中进行查询,将得到查询结果返回给用户界面7,以显示给用户查看。
[0070] 如图3所示,步骤3中基于On-the-Fly策略的本体模型生成过程包括如下步骤:
[0071] 步骤一:自动机提取当前本体文件中的静态信息,生成静态部分的模型。静态信息指的已经通过语法检测的本体文件中所包含的概念、属性、实例以及它们之间的关系。
[0072] 步骤二:判断当前本体文件是否处于编辑状态,若处于编辑状态,转至步骤三,若不处于编辑状态,转步骤一;
[0073] 步骤三:记录编辑语句所在的位置,判断被编辑语句的完整性,若语句完整,确定被编辑语句的句型,是A、B还是C型,并向上检索最近的A型语句,向下检索对应的C型语句,获取AWC形式的最小语义单元,若语句不完整,则提示用户存在语法错误,需要进行修改。
[0074] 句型A:<构造子 标记=概念名称|关系类型>,例如
[0075] 句型B:<构造子 标记=概念名称|关系类型/>,例如
[0076] 句型C:,例如。
[0077] 步骤四:自动机提取所识别的所有最小语义单元的信息,生成对应的语义单元的模型。
[0078] 步骤五,更新原模型。针对提取识别出的各最小语义单元,首先遍历原模型,定位各最小语义单元在原模型中的位置,然后用自动机生成的最小语义单元的模型,替换该语义单元在原模型中的位置的模型。所述的原模型是指采用自动机提取静态信息所构造的静态部分的模型。文本模型的更新不是通过重新对本体文件进行解析,而是根据用户修改的内容,定位最小语义单元,仅对修改的地方更新模型,以实现实时性。
[0079] 如图4所示,自动机的初始状态为1,终结状态为8,以为例,该例是用本体描述语言owl描述的一个本体语句,其中Sunboard表示太阳帆板,它是航空领域的一个概念(class),经由自动机解析的状态转换过程为:1->2->4->4->5->6->7->7->8。
[0080] 详细说明如下:1为初始状态。接收“<”进入起始判定,进入状态2。接收状态,若为“/”,进入状态3;若为a(构造子),则进入状态4;否则解析异常。状态3接收a(构造子),进入状态7;接收“>”进入终止判定状态8。状态4接收空格,回到自身状态。状态4接收b(标记名),进入状态5。状态5接收“=”,进入状态6。状态6接收c(概念名称|关系类型),进入状态7。接收状态,若为“/”,回自身状态。若为“>”,进入终止判定状态8。
[0081] 图4所示的例子中,被提取的静态信息为class和Sunboard,隐含的意思为Sunboard是一个概念(class)。
[0082] 模型生成器2所生成的模型并不是用户最终看到的那种形式,要更抽象,模型显示器3将本体模型中一些关系用图形化控件来替换,用户界面7则显示的是将替换后的最终的本体模型以更友好的方式显示在用户面前。如图5所示,在用户界面7所提供的图形化显示包括如下几个状态。
[0083] 初始化状态:在该状态下,模型对象完成自身的初始化工作,包括完成各种设置以及构建各个成员对象/数据结构。
[0084] 显示树形图状态:在此状态下,模型对象显示的本体模型的类层次结构图,也就是树形图。用户可以改变鼠标状态、对图形进行放大、缩小、平移、选取、小地图导航等操作,但不会影响模型对象所处的状态,因为模型显示的仍然是树形图。如果用户切换图形化状态,模型将转换到显示关联图状态;若操作回退,则模型对象将回退到上一个显示视图。
[0085] 显示关联图状态:在此状态下,模型对象显示的是关联图,关联图描述了本体类之间的关联关系,也包括类的实例,实例与类的关系,实例与实例的关系。同显示树形图状态一样,用户可以改变鼠标状态、对图形进行放大、缩小、平移、选取、小地图导航等操作,但不会影响模型对象所处的状态。用户可以在关联图和树形图之间进行切换,同样也具备操作回退功能。
[0086] 树图类顶点快捷菜单状态:该状态提供给用户就当前显示进行下一步操作的便捷入口,快捷菜单中包括3个选项。分别为显示/隐藏子树、显示数据类型属性、显示实例。显示/隐藏子树用于对树形图进行子树展开/隐藏处理,其状态返回显示树形图状态;显示数据类型属性用于在数据表格中显示选定的类的所有数据类型属性的信息;其状态返回显示树形图状态;显示实例用于显示实例图状态。
[0087] 关联图类顶点快捷菜单状态:该状态同样是提供给用户就当前显示进行下一步操作的便捷入口,快捷菜单中包括2个选项,分别为显示数据类型属性和显示实例。显示数据类型属性用于在数据表格中显示选定的类的所有数据类型属性的信息,其状态返回显示树形图状态;显示实例用于显示实例图状态。
[0088] 关联图边快捷菜单状态:快捷菜单中包括1个选项:显示相关信息,用于在数据表格中得到此对象属性的详细信息,包括它的名称,URI,domain,range,对称性、传递性等信息,模型对象的状态返回显示关联图状态。
[0089] 图6为采用本发明装置或方法进行本体语义查询的过程,解析用户界面7接收的用户查询请求,并提交至本体查询器,最后得出结果返回给用户。查询方法主要为基于关键字的检索和基于可视化的交互式查询两种形式。
[0090] 基于关键字的检索方式,指的是根据用户查询请求中输入的检索关键字,得到所有与关键字匹配的模型元素的列表,并且对列表中的元素进行进一步的查询。当选择结果列表中的一个元素(所述的元素是一个类),就可以得到本体模型关联图的一个导出子图,这个子图中包含选择的类对应的顶点以及所有与所选择的顶点相邻的顶点,以及这些顶点之间的所有边。所得到的导出子图就是查询结果。
[0091] 基于可视化的交互式查询指的是利用鼠标同显示的拓扑图元(顶点和边)进行交互,以查询它们所代表的模型元素(类,实例,对象属性)的详细信息,这些信息将以数据表格的形式返回给用户。类的详细信息应包括类的名字,以及类的所有数据类型属性的名字、类型;实例的详细信息应包括实例的名字、从属类,以及实例的所有属性的名字、类型和取值;对象属性的详细信息应包括类与类之间的关系。