农业本体中信息关联挖掘及映射技术*

2018-03-30 06:40赵嫦花米春桥
关键词:本体关联可视化

赵嫦花,米春桥

(1.怀化学院计算机科学与工程学院,湖南 怀化 418000;2.武陵山片区生态农业智能控制技术湖南省重点实验室,湖南 怀化 418000)

农业领域信息知识的关联性影响本体知识库内容的可视化程度.规范本体的关键是如何正确地处理知识领域的相关概念,但由于对同一概念会有不同理解和定义[1],因此只有统一概念才能实现本体在不同领域的应用.应用于语义网的自动化信息处理可以实现系统与人之间的互通.本体可用建模语言来表示,用存储它的状态和行为的类来表示概念.UML类图与本体的结构相似,但UML类图只提供领域类结构和层次的静态视图,类层次只定义超类与内部类的关系.一张类图的所有特征和原则都能应用于本体建模[2].农业传感器终端采集的数据量大且多样化,如果不建立统一的概念标准,就会严重影响有用信息的挖掘.在农业领域已经有UML类图,只要充分利用这些类图实现对农业本体的扩展,就能迅速有效地建立本体库,并基于本体库实现语义应用.笔者利用Protege平台通过类图实现本体的可视化描述和扩展,并通过概念化模型丰富已有的本体,实现本体之间的联系.

1 相关研究

Protege平台是构建本体的环境,通过定义插件使得本体构建变得更加简单.可视化本体可以通过属性显示本体结构图,但是这些图不能在类图中显示,需要下载Grahpviz等可视化软件支持类与类之间的关联有专门的命名规则,在视图中对信息的描述与UML类属性相似.本研究也采用类似的方法为类设置属性和行为,通过Grahpviz软件在OntoViz中将类关联起来[3].所有本体的对象包括类、实例、属性、匿名类、对象之间的关系等,都是OWLAPI的扩展.OWL2UML是一个提供基于本体的UML图表视图的插件,由于这个插件使用OWLAPI,只能在老版的Protege中运行,不能实现所有类图的可视化,也不能解决本体的重用问题,但仍能满足一般用户的需求.Protege提供了不同的插件来支持本体模型的可视化,但不支持UML.

有关研究[4-10]表明,UML到OWL语法层上的转换是可以实现的,但核心问题是如何实现自动遵循规则的可视化转换.笔者将利用UML实现互操作本体模型,即实现抽象层面的语法规则到可视化应用层面的映射.

2 农业领域本体概念规范化

构建农业领域本体不是一个简单的过程,需要有理解农业领域概念的人或群体.在本体构建过程中,尽管通过努力可以使得概念标准化、统一化,但还是会存在误差.这是因为,一方面同一对象有不同的名字,单个通用本体不能完全地表示某个特定领域;另一方面是存在多义性,同一个对象在不同情境下意义也可能完全不同.例如,农业本体中的虫害作为一个类,可以用Bug,Insect,Pest,Worm这4个词,术语的不一致导致在农业信息搜索过程中系统通常会找到一些无用的信息,浪费了大量的时间.因此,需要对农业领域制定一套统一的术语,用于处理相关问题或根据实际情况设置同义关系.农业领域代表数据的概念,在很多情况下用诸如UML这样标准化的语言来存储,这促使人们寻求将UML转换成本体的方法.UML模型中存储的数据遵循预先统一定义的格式,与本体存储数据有相似的结构,这为UML到OWL的转换奠定了基础.在概念初始化定义阶段对其进行层级结构划分,不同术语间的关系就很容易被定义.良好的领域概念结构关联性可促进对领域概念的理解,这也是本体要解决的根本问题.农业领域中类、实例、属性和关系这4个基本要素构成了本体的结构.对比分析OWL类和UML类这2个实体集以增加新的实体及其关联,通过映射来判断这2个实体名称是否相同,若相同则不增加到本体库中,反之则增加,从而实现可视化的本体扩展及信息关联挖掘.

3 本体与UML组件关联分析

本体定义了一套概念及相互关系,类图代表定义关系的类集.虽然OWL和UML有不同的作用对象(UML用于建模,OWL用于表征知识)且采用不同的结构,但是两者也有许多相同的元素可以进行关联,如表1所示.从表1可以看出,基于这些共同的特征,能通过类图的概念在Protege平台中对本体进行扩展.Protege平台提供了足够的插件来支持可视化本体,也提供了大量的库来支持OWL.

表1 本体(OWL)及UML语言成分之间的关联

4 UML与OWL模型映射

4.1 XSLT

图1 使用XSLT转换UMLFig. 1 Transformation of UML Through XSLT

扩展样式表转换语言(eXtensible Stylesheet Language Transformations,XSLT)是一种用于将XML文档转换成任意文本的描述语言.转换过程通过XSLT处理器来实现,如Xalan-Java.由于XSLT自带转换规则,因此只需在处理器中输入2种原文件和模式就可以实现转换.UML是类图,OWL是本体,都基于XML格式,因此将UML模型转换为本体模型需用到XSLT,这为利用Protege插件OWLAx实现UML到OWL的转换提供了扩展框架.具体转换步骤如图1所示.

4.2 定义共同的实体集

由于UML和OWL有共同的模型元素,因此可以对这2个对象集进行比较.先创建一个能同时与2个模型互操作的对象集,对象以实体进行存储.不管是UML或OWL类,实体都是一个类的通用术语.为了使类具有2个模型的共同特征,需要在2个模型中预先定义共同属性.前面提到了UML和OWL的所有共同元素,包括基本的类、属性、关系、关联和子类等.笔者为农业领域创建的一个共同实体里,有已定义好的属性和结构.每一个实体都有由类名产生的标识符、属性集和关系集,由UML和OWL映射到共同的对象中.具体映射过程如图2所示.在这个过程中,只需将UML和OWL模型生成2个实体集,每一个集合对应一个模型,就能统一模型的格式,为后续的关联与映射作准备.

图2 映射UML和OWL类到共同的对象Fig. 2 Mapping of UML and OWL onto Common Entities

5 模型可视化映射前期准备

在Protege中要想看到完整的UML模型,必须先对UML模型进行处理和比较.比较的目的是找出相同的实体,并利用实体扩展模型,通过OWLAx实现UML模型到OWL模型的连接.在基于UML模型的本体模型扩展丰富之前,进行如下操作:∃x,x∈SUML∧x∉SOWL.其中:SUML={E,R},模型由实体E和关系R组成;SOWL={E′,R′},模型由实体E′和关系R′组成.若满足这个条件且至少有1个实体的相同名字既在OWL模型又在UML模型中,则通过关系检测可以扩展本体模型;若2个模型没有关联的元素则无法对本体进行扩展.因此,E和E′集必须是相交集.

模型扩展基于以下几点:

(1)找出所有实体集中的相同名字,存放在一个用于实体间比较的集合中.

(2)判断从UML模型中创建的包含关系或属性的实体,是否包含在与本体模型相似的实体中.

(3)确定这些关系或属性能丰富实体后,将这些不同的属性和关系存入一个扩展实体中.这些实体与UML模型一样,包含了名字、属性或关系.

(4)对这些实体进行逐步转换和相似度计算,为本体模型获得一个扩展关系-属性集,所有的扩展选项在类图中都是可视的.

(5)由用户确定这些新信息是否要应用于本体扩展.

实现UML模型到本体模型的可视化映射,只要不断地增加所有的属性,就可以创建一个基于UML类图的新本体.用户能够选择是否需要添加实体的特征或属性,或者沿用原来已存在但在本体中没有定义的关系,避免在本体中重新定义.通过阻止添加无关联的实体到本体模型中,可以减少错误模型的概率,同时也保证实体之间的关联.

6 模型可视化映射实例

6.1 添加新类

以武陵山片区农业本体(wlspq:FeatureOfInterest)构建为例,利用OWLAx实现由UML到OWL的映射过程.在这个实验中,所添加的新类能丰富本体的联系.如图3所示,添加Layer,Medium和Precipitaton后利用OWLAx能实现UML到OWL的无缝连接.如图4所示,将UML新类成功地添加到对应的关联中,OWLAx相应地增加了rdfs:subClassOf,这为到本体的映射提供了关系描述.图3中粗线框表示在UML中新增的类.

图3 UML中新增类Fig. 3 New Classes in UML

图4 通过UML类图在OWLAx中增加类、属性或关系Fig. 4 Addition of Classes,Attributes and Associations Through UML Class Diagram

6.2 添加属性和关系

图5 通过UML生成本体截图Fig. 5 Generation of Ontologies Through UML

从图3可以看到UML类图中wlspq:FeatureOfInterest的包含属性,实体属性位于UML类层的中部.利用OWLAx实现UML静态类图到OWL的转换,达到了扩展本体属性的目的.图4中的hasname是通过UML类图在OWLAx中增加的属性和关系.图5示出从UML到生成OWL本体的过程,即从可视化视图到本体的映射.

笔者还进行了功能实验.为了创建一个基于UML类图的新本体,要不断地增加所有的类、属性或关系.实验中,如果本体中已经存在某个属性、类或关系,例如本体中一开始存在Wind,通过UML在OntoAx中增加这个类就会提示“此类已经存在”的错误信息.对于没有的类,如Pests和Surface,就可以顺利地添加到本体中.同样,通过UML和OWL的所有共同元素的关联来判断属性或关系是否已经存在,从而确定是否需要添加.阻止添加无关联的实体到本体模型中,减少了错误率,也确保了实体之间的关联,对本体进行了可视化的扩展.整个实验的目的是要证明,通过对2个不同模型进行比较能否丰富本体模型.所有实验都在Protege中进行,用户可以添加新类的属性或关系,也可以添加与本体扩展无关的新实体.所有的执行结果都由用户评估判断,由用户决定哪些是需要的.实验结果表明,通过UML不仅可以在扩展本体的同时阻止无关联实体的添加,还可以对普通实体进行新特性的挖掘.

7 结语

基于一般模型特征利用UML对农业领域本体进行扩展,利用UML和OWL的关联解释了模型中各自的意义、数据结构,以及每一种语言的基本要素和相互关系.通过比较发现了UML和OWL的相似特性,这使得两者具有可比性.以武陵山片区农业生态环境为例,在检测了所需要的UML结构和要处理的内容后,对模型进行操作,将UML转换成OWL,并在Protege中利用OWLAx对UML和OWL实现可视化.农业本体在实际应用中的关系更复杂、需求更多.本研究只解决了基本模块,作了简单的关系挖掘,完成从UML模型到本体模型的映射.接下来,将实现批量的UML到OWL文件映射,发掘更多的关系,提高映射的效率.

[1] LOMBARDO V,PIZZO A.Ontologies for the Metadata Annotation of Stories[C]∥Digital Heritage International Congress.IEEE,2013:35-40.

[3] PROTÉGÉ COMMUNITY[EB/OL].[2017-08-25].http:∥protege.stanford.edu/about.php.

[4] BACLAWSKI K,KOKAR M M,KOGUT P A,et al.Extending UML to Support Ontology Engineering for the Semantic Web[C].The International Conference on Unified Modeling Language,2001:32-47.

[5] DRAGAN GASEVIC,DRAGAN DJURIC,VLADAN DEVEDZIC,et al.Converting UML to OWL Ontologies[C].Proceedings of the 13th international World Wide Web Conference on Alternate Track Papers & Posters,2004:488-489.

[6] OMG.Ontology DefinitionMetamodel,V1.0[EB/OL].[2017-08-25].http:∥www.omg.org/spec/ODM/1.0.

[7] SIDo Group.ATL Use Case-ODM Implementation (Bridging UML and OWL)[EB/OL].[2017-08-25].http:∥www.eclipse.org/atl/usecases/ODMImplementation/.

[8] Representing UML in RDF[EB/OL].[2017-08-25].http:∥infolab.stanford.edu/~melnik/rdf/uml/.

[9] KIKO K,ATKINSON C.A Detailed Comparison of UML and OWL[EB/OL].[2017-08-25].https:∥www.mendeley.com/research-papers/detailed-comparis.

[10] CHAOUI A,ELMANSOURI R,WAFA SAADI,et al.From UML Sequence Diagrams to ECATNets:A Graph Transformation Based Approach for Modelling and Analysis[EB/OL].[2017-08-25].https:∥www.researchgate.net/.

猜你喜欢
本体关联可视化
基于CiteSpace的足三里穴研究可视化分析
思维可视化
不惧于新,不困于形——一道函数“关联”题的剖析与拓展
眼睛是“本体”
基于CGAL和OpenGL的海底地形三维可视化
“一带一路”递进,关联民生更紧
“融评”:党媒评论的可视化创新
奇趣搭配
基于本体的机械产品工艺知识表示
智趣