《2022年从关系数据库构建语义丰富本体的方法 .pdf》由会员分享,可在线阅读,更多相关《2022年从关系数据库构建语义丰富本体的方法 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、收稿日期:2010-12-05;修回日期:2011-01-14作者简介:蒋翠清(1965-),男,教授,博导,博士,主要研究方向为企业信息化、知识管理与知识工程;鲁佼(1987-),女,硕士,主要研究方向为信息化与管理创新(lujiao8701 gmail com)从关系数据库构建语义丰富本体的方法蒋翠清,鲁佼(合肥工业大学管理学院,合肥 230009)摘要:网络中大量数据存储在关系数据库中,利用这些数据资源构建领域本体是实现语义Web 的任务之一。制定了一组优化的通用转换规则(特别注重对元组信息的语义分析与挖掘),结合领域专家的选择判断,在尽量保留和挖掘关系数据库语义信息的基础上,给出了一个
2、从关系数据库半自动构建OWL 本体的方法,同时利用WordNet 对本体进行语义丰富,并最终通过系统实现转换过程。关键词:关系数据库;构建本体;元组;WordNet中图分类号:TP393文献标志码:A文章编号:1001-3695(2011)08-3018-04doi:10 3969/j issn 1001-3695 2011 08 060Approach to transform relational databasetosemantic-rich ontologyJIANG Cui-qing,LU Jiao(School of Management,Hefei University of T
3、echnology,Hefei 230009,China)Abstract:Large amountsof data stored in relational databasesin network How to makeuse of thesedata resourceto builddomain ontologyis one of the tasks ofachieving semanticWeb Thispaper developeda set of generaltransformationrules,es-pecially analysedsemanticon tuple infor
4、mation,combined with the selection of experts On the basis of retaining and miningthe relational databases s sementicinformation mostly,it presenteda systematicapproachto OWL ontologyconstruction fromRDB At the sametime,usedWordNet to enrich the goleontology ssemantic Finally,it realizedthe transfor
5、mationby devel-oping a system Key words:relational databases;build ontology;tuple;WordNet0引言近年来,本体被广泛应用于语义Web、智能信息检索、信息集成、数字图书馆等领域。如何高效地构建实用的领域本体是制约这些领域发展的瓶颈。本体构建工具(如 Prot g),使用户不需要关注本体描述语言的语法细节,从而提高构建本体的效率和质量1。但其支持的仍然是手工构建方式,本体的语义信息和具体概念、约束和属性等还是需要用户手工输入,因此并不能真正实现本体的(半)自动构建。为了提高本体构建的效率和自动化程度,利用已有的数
6、据资源构建本体,成为本体研究者们关注的重点2 4。数据规模激增的互联网为获取数据源提供了良好的途径,而当今互联网中的绝大多数数据存储在关系数据库中并通过动态网页显示出来。如何利用关系数据库中丰富的数据获取领域知识、(半)自动构建本体,是一个很有意义的研究课题。文献5,6在形式化表示关系数据库模式和OWL 本体的基础上,通过描述一组遵循从关系数据库模式到OWL 本体的通用映射规则将关系数据库转换为本体,最终实现并验证了方法的有效性。另外,Astrov7提出了一套模式映射规则,对关系进行分类,将关系模式映射到本体。但是这些方法都缺乏对数据库中元组数据的考虑,缺少对继承层次的深入研究,由于转换规则和
7、算法的不精确以及数据库本身语义的有限性,目的本体语义信息匮乏。针对上述问题,本文在假定源数据库设计良好的情况下,提出一个比较系统的从关系数据库数据获取OWL本体的方法。在更多地保留和挖掘关系数据库中的语义信息(特别是对元组信息的语义挖掘)的同时,利用WordNet对建成本体进行语义丰富。1关系数据库元数据向OWL 本体的转换规则1.1关系数据库与OWL 本体关系数据库由型和值两部分数据组成:第一部分是元数据,也称为关系模式,如关系(表)名、关系的属性名、数据类型名、主键和外键等完整性约束名;另一部分是真正的数据,由元组集合组成。为方便介绍,本文使用表1 所示的大学校园关系数据库模式作为描述转换
8、过程的例子。本体由概念及它们之间的关系组成。概念也称做对象的类,概念间关系包括类的层次结构、属性、值约束、不相交描述和对象间逻辑关系的规定。从关系数据库中可以转换或者提取出本体概念及之间的关系。OWL 是 W3C 推荐的本体描述语言的标准,作为 RDF(S)的扩展,OWL 在 DAML+OIL 网络本体语言的基础上加以改进,增加了更多用于描述属性和类的词汇(类之间的不相交性、基数、等价性等更多丰富的属性类型及枚举类等),其目的第 28 卷第 8 期2011 年 8 月计 算 机 应 用 研 究Application Research of ComputersVol 28 No 8Aug2011
9、名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -是提供更 多的 元 语以支 持 更丰 富 的 语 义 表 达。总 体 来 说,OWL 的基本元素包括类、属性、个体和基本数据类型。表 1大学校园关系模式例表关系名属性主键外键及参照关系college(学院)collegeID,name,phonecollegeIDNostaff(教工)staffID,name,sex,birthstaffIDNoteacher(教师)staffID,collegeIDstaffIDstaffID(staff),collegeID(college)position(职位)positionID
10、,name,workpositionIDNoadministrator(行政人员)staffID,positionIDstaffIDstaffID(staff),po-sitionID(position)technicians(技术员工)staffID,positionIDstaffIDstaffID(staff),po-sitionID(position)subject(课程)subjectID,name,timesubjectIDNoteach(授课)subjectID,staffIDsubjectID,staffIDsubjectID(sub-ject),staffID(teacher)
11、student(学生)studentID,col-legeID,name,birth,staffID,cate-gorystudentIDstaffID(teacher),collegeID(college)select-subject(选课)studentID,subject-ID,scorestudentID,sub-jectIDstudentID(student),subject-ID(subject)1.2数据库中表向OWL DL 本体的转换这一部分描述数据库元数据向本体转换的规则。规则 1若数据库中某个表只有一个属性是主键,或者由多个属性组成主键但其中至少有一个属性不是外键,则该关系
12、表对应为关系数据模式的一个实体,转换过程中直接对应为OWL 本体中的类。用 owl:class来声明。规则 2若数据库中某个表没有主键,且至少存在一个非外键的属性,则将其直接转换为OWL 本体中的一个类。规则 3若数据库中某个表没有主键,且每个属性都是外键,则该关系表对应为其外键所指向的实体之间的联系。规则 4若数据库中某个表的多个属性组成表的主键,且这些主属性同时也都是关系的外键,若除主键外没有其他的非主属性,则该关系表对应为其外键所指向的实体之间的联系。例如表 1 中授课关系teach。否则若除主键外还存在其他的非主属性,则该关系表对应为一个实体,转换为本体的一个类。例如表 1 中选课关系
13、select-subject。规则 5如果某已确定为实体的关系拥有非主属性的外键,则该关系的对应实体与其外键指向的实体之间存在联系。通过主外键关联关系形成实体间的联系,联系的方式可以分为三类:1 n 联系、1 1 联系、m n 联系。规则 6实体 E1的主键是实体E2 的外键,如果 E2 的外键值可以重复,说明每个 E1 实例可以对应多个E2 实例,E1 与 E2是一对多(1 n)联系;如果 E2 的外键值不能重复,说明每个 E1实例正好对应一个E2实例,则 E1 与 E2 是一对一(1 1)联系。不同类型联系的转换规则如下:a)1 1 联系转换规则。对应一对一的联系,每个实体的实例和另一个相
14、关联的实体的实例是一一对应的,通过定义属性的函数 性:rdfs:type rdf:resource=“owl;FunctionalProper-ty”/来描述两者之间的关系。b)1 n 联系转换规则。1 n 联系转换规则与1 1联系转换规则相似。假如表 1 中职位和行政人员之间是一对多联系,可以描述如下:owl:ObjectProperty rdf:ID=“AdmToPos”rdfs:domain rdf:resource=“#Administrator”/rdfs:rang rdf:resource=“#Position”/rdfs:type rdf:resource=“owl;Functi
15、onalProperty”/owl:ObjectPropertyowl:ObjectProperty rdf:ID=“PosToAdm”rdfs:domain rdf:resource=“#Position”/rdfs:rang rdf:resource=“#Administrator”/rdfs:type rdf:resource=“owl;InverseFunctionalProperty”/owl:ObjectPropertyc)m n 联系转换规则。m n 联系可以分解为两者对另一中间联系的m 1 和 1 n 联系。规则 7如果实体关系E2 的主键属性集合包含实体关系E1 主键属性集合
16、,并且 E1 的主键同时又是自己的外键,这些外键都指向E2,那么这两个实体之间存在着继承关系:E1 对应的实体是E2 对应实体的子类。用 owl:subclassof将数据库中继承关系向本体中子类关系转换。1.3数据库中属性向OWL DL 本体的转换OWL 本体中的属性分为数据和对象。OWL 没有预定义的数据类型,但可以使用字符型和简单地用XMLS 提供的数据类型。用户定义的数据类型一般都收集在一个XMLS 中,然后可以在 OWL 本体中直接使用,并且与对象属性同样用rdfs:do-main 和 rdfs:range 定义它 的 定 义 域 和 值 域。关 系 数 据 库 和OWL 本体中数据
17、类型属性对应关系如表2 所示。若属性取值非空,则对应属性的基数约束cardinality 设为“1”。表 2数据类型属性对应关系表relational modelOWL ontologyINTxsd:integerDExsd:decimalFLOATxsd:floatREALxsd:floatCHARxsd:stringVARCHARxsd:stringDATExsd:dateTIMExsd:time1.4数据库中主键向OWL DL 本体的转换OWL DL 本体中,属性元素某些性质可以直接定义。如用owl:Functionalproperty定义函数性,即规定一个属性对任何对象最多只能取一个值
18、;另外,用 owl:InverseFunctionalproperty定义逆函数型,即规定一个属性对应不同的对象不能取相同的值。需要根据主键的具体情况设定不同的转换规则:a)关系的主键只有一个主属性时,为其定义函数性和逆函数性;b)关系的主键有多个主属性,且其中至少有个主属性是外键,则需要为每个非外键的主属性定义函数性。因为主键不允许为空,所以对应的数据类型属性的基数约束 cardinality 设为“1”。2利用元组数据和WordNet 丰富本体的语义信息2.1元组数据的转换与语义提取2.1.1 元组数据的转换数据库中的元组信息是数据库实体的实例,与其相对应的9103第 8 期蒋翠清,等:从
19、关系数据库构建语义丰富本体的方法名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -是本体中这个实体转换的类的实例。转换过程中,首先要对类实例进行命名。对于主键只包含一个属性的实体,对应类的实例名即为该属性值。主键包含多个属性的实体,对应类的实例名即为各属性值转换为字符型后相加的值。这样,实例的 ID属性值便能确保唯一。然后,类的实例数据类型属性的取值就是元组在相应属性字段的值转换成OWL DL 基本数据类型后的值。2.1.2 元组数据的语义提取数据库中除了元数据外,绝大部分的具体数据是以元组形式显示的。从大量元组数据中进行分析,可以获得实体间联系的种类和继承关系,有效丰富
20、了本体的语义。首先,通过分析表的主外键关系来判断出实体间存在某种联系,但是不能由此更进一步获取到这些联系的种类(1 1、1 n 和 m n 联系)。例如从表1 的学生关系模式:student(stu-dentID,collegeID,name,birth,staffID,category)中,无法直接从基于主外键关系的转换规则中获取学院、学生和导师之间的联系种类。下面设法从这类关系模式的元组信息中提取实体联系的类别,具体步骤如下:a)利用数据库SQL语言判断出数据库表中各主外键不同取值的个数,分别用ai(i=1,2,n)表示(将主键作为一个计算单元),并按 ai从小到大依次排列对应的主外键属性
21、,用 bi(i=1,2,n)表示。例如关系模式student、select-subject 和teach对应 bi分别表示为(collegeID,staffID,studentID)、(stu-dentID,subjectID)和(subjectID,staffID)。b)n 1 时,若 ai(i=1,2,n 1)=an,则 bi(i=1,2,n 1)和 bn指向的实体之间存在1 1 联系;若 ai(i=1,2,n 1)an,则 bi(i=1,2,n 1)和 bn指向的实体之间存在1 n 联系。例如从关系student可以得出学院和学生以及导师和学生之间均存在1 n 联系。c)n=1 且主键包
22、含多个主属性时,判断主属性间不同取值的个数和所有元组个数,分别用 ci(i=1,2,n)和 c 表示,计算 di=ci/c(i=1,2,n)。若 dp=dq(p、q 取 1 n 不同的任意值),则对应主属性指向的实体之间存在1 1 联系;若dp!=dq 则主属性指向的实体之间存在m n 联系。例如从关系 select-subject 和 teach中可以得出课程和学生之间以及课程和教师均存在m n 联系。d)考虑到数据库元组信息量不充足或者信息量片面等因素会导致排列结果不能反映实际的情况,领域专家需要对建成的联系种类进行完善修改。其次,分析数据库表的主外键关系可以获取部分继承关系,但通过对大量
23、元组信息进行分析,可以获得更多的继承关系。例如从表 1 的学生关系模式:student(studentID,collegeID,name,birth,staffID,category)中,无法直接从基于主外键关系的转换规则中获取到对应本体中的学生类的子类。下面设法从元组信息中提取子类关系,具体步骤如下:a)利用数据库SQL语言判断出各非主键属性不同取值的个数和表中所有元组个数,分别用 ci(i=1,2,n)和 c 表示,计算 di=ci/c(i=1,2,n),保留 ci 20 且 di 0 1 的 di值。b)将保留的 di对应的属性ei(i=1,2,n)按 di的值从小到大排列。例如关系 s
24、tudent对应的 ei表示为(category,col-legeID)。c)选择属性 e1,若 e1是外键,则获取 e1指向表的name属性不同取值作为源表的子类;若 e1为非外键,则获取 e1属性不同取值作为元表的子类。领域专家对结果进行审核,如果不符合实际,则选择下一个属性e2判断获取子类关系,依此类推。例如对于关系student,选择非外键属性category的不同取值(本科生、硕士生、博士生)作为本体中类student的子类。2.2利用 WordNet 丰富本体语义信息WordNet 是普林斯顿大学建立和维护的,以词为基本组织单位,基于同义词集的方式来组织体系结构的字典。在 Word
25、-Net 中,名词、动词、形容词和副词各自被组织成一个同义词的网络,每个同义词集合都代表一个基本的语义概念,并且这些集合之间也由各种关系连接,包括同义关系、反义关系、上下位关系、整体 部分关系、蕴涵(推演)关系等。其中名词网络是最早创建和发展的,本文所做工作仅限于利用名词网络。首先在 WordNet 中查找出本体中类和属性的同名词,然后分别利 用 owl:equivalentClass、rdfs:subClassOf、owl:equivalent-Property和 owl:inverseof来定义等价类、子类、等价属性和逆属性。对于在 WordNet 中没有同名词的本体类或者属性,需要进一步
26、通过语义相似度计算方法计算出相似类或属性。3建模方法本文在分析通用关系数据库向OWL 本体建模方法的基础上,利用表 1 中关系数据库构建OWL 本体。具体方法步骤如下:a)明确领域的主要概念和属性,寻找到合适的领域相关数据库。数据库设计规范程度和信息量大小直接影响着目的本体的优劣。b)从关系数据库中抽取关系模式,分析数据库中表、字段以及主外键关系等信息,设计数据库本体的转换规则,根据规则设计出转换原型系统,构建最初本体。c)领域专家对初步本体进行检验和修正,形成领域本体。d)对已经建成的领域本体进行检验和评估,不合格则返回 b)。4实验4.1生成的 OWL 文档采用 Java语言实现基于关系数
27、据库的OWL 本体构建,从SQL Server2000 数据库中转换得到的部分OWL 本体文档如下所示:xmlns:protege=http:/protegestanfordedu/plugins/owl/protege#xmlns:xsp=http:/wwwowl-ontologiescom/2005/08/07xsp owl#xmlns=http:/wwwowl-ontologiescom/ontology1291340934owl#xmlns:owl=http:/wwww3 org/2002/07/owl#xmlns:sqwrl=htttp:/sqwrlstanfordedu/ontol
28、ogies/built-ins/3 4/sqwrl owl#xmlns:xsd=http:/wwww3org/2001/XMLSchema#xmlns:swrl=http:/wwww3 org/2003/11/swrl#xmlns:swrlb=http:/wwww3org/2003/11/swrlb#xmlns:rdfs=http:/wwww3org/2000/01/rdf-schema#xml:base=http:/wwwowl-ontologiescom/ontology1291340934owl owl:ontology rdf:about=file:/C:/Program%20File
29、s/Protege 3 44/empty owl/owl:Class rdf:ID=Subject/owl:Class rdf:ID=Student/owl:Class rdf:ID=College/owl:Class rdf:ID=Undergraduate rdfs:subClassof rdf:resource=#Student/0203计 算 机 应 用 研 究第 28 卷名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -/owl:Classowl:Class rdf:ID=PhD rdfs:subClassof rdf:resource=#Student/owl
30、:Classowl:Class rdf:ID=Position/owl:Class rdf:ID=Administrator rdfs:subClassofowl:Class rdf:ID=Staff/rdfs:subClassof/owl:Classowl:Class rdf:ID=Teacher rdfs:subClassof rdf:resource=#Staff/owl:Classowl:Class rdf:ID=Select-Subject/owl:Class rdf:ID=Master rdfs:subClassof rdf:resource=#Student/owl:Classo
31、wl:Class rdf:ID=Technicians rdfs:subClassof rdf:resource=#Staff/owl:Class4.2有效性检验将生成的 OWL 文档 school OWL 在本体编辑工具Prot g_3 4 4 中打开,完全符合 OWL 的语法结构和语言描述规则,可以清楚地看出从关系数据库转换而来的本体模型类、本体模型属性及本体模型实例,由此可知该方法建模的有效性。本体模型类如图 1 所示。5结束语国内对本体的开发方法以及如何构建领域本体研究得较多,但对构建领域本体的研究还处于不成熟阶段。本文根据关系数据库和OWL 本体的实际情况,结合 WordNet,增加
32、对数据库元组提取语义信息,提出了一种从关系数据库构建语义较丰富的 OWL 本体的方法。该方法能将数据库中隐藏的语义信息迁入目的本体中,丰富了目的本体的语义信息。但是,目的本体优劣更大程度上依赖于源数据库的优劣,所以对源数据库的要求很高,转换过程中需要领域专家紧密参与。下一步的工作是将本体应用于语义检索的实践中,检验语义检索的效率。参考文献:1陶皖,廖述梅 当前本体编辑工具的分析与研究J 计算机工程与设计,2005,26(3):761-7632张晓明,胡长军,李华昱,等 从关系数据库到本体映射研究综述J 小型微型计算机系统,2009,30(7):1366-1375 3瞿裕忠,胡伟,郑东栋,等 关
33、系数据库模式和本体间映射的研究综述J 计算机研究与发展,2008,45(2):300-3094许卓明,董逸生,陆阳 从 ER 模式到OWL DL 本体的语义保持的翻译J 计算机学报,2006,29(10):1786-17965赵荣娟,王丹 一种从关系数据库提取本体的方法J 微电子学与计算机,2006,23(S1):116-1186余霞,刘强,叶丹 基于规则的关系数据库到本体的转换方法J 计算机应用研究,2008,25(3):767-770,7857ASTROV I Reverse engineering of relational databases to ontologiesC/Proc o
34、f the 1st European Semantic Web Symposium Heidel-berg:Springer-Verlag,2004:327-341(上接第 2998 页)当选择用更多的工具(所有工具)对源程序进行检测时,其检测结果如图4 所示。从图 4 中可以看出,集合了所有工具的源代码静态分析工具平台不仅能检测到更多的缺陷函数,而且缺陷函数出现的次数会有所降低。例如,strcpy 在此出现的次数仅有两次。在下一步的分析中,笔者会重点地有针对性地去查看这两个地方。所以从以上结果及分析中容易发现,源代码静态分析工具平台的误报率和漏报率都有所降低。4结束语本文提出一种基于静态检测
35、工具用于漏洞挖掘的源代码静态分析方法,设计并实现了一个源代码静态分析工具台,通过对多个静态检测工具结果进行统计分析,综合各个工具的优点,自动地对源代码进行静态检测,形象直观地把检测结果显示出来,并实现了较好的性能。下一步研究重点是集成更多的漏洞检测分析工具到此平台中,并研究更加有效的数据统计分析方法,进一步降低漏报率和误报率。参考文献:1BRIAN CStatic analysis for securityJ IEEE Security Priva-cy,2004,7(4):32-36 2DAVID E,JOHN G,JIM H LCLint:a tool for using specific
36、ations tocheck code C/Proc of SIGSOFT Symposium on the Foundations ofSoftwareEngineering19943JOHN VIts4:a static vulnerabilityscanner for C and C+codeC/Proc of Annual Computer Security ApplicationsConference 20004Rough auditing tool for securityEB/OL(2006)http:/wwwfor-tifysoftwarecom/security-resour
37、ces/Dec 5FlawfinderEB/OL(2006-12)http:/wwwdwheeler com/flawfinder6 RAJEE V,EUGENE H,JAN V FaultMiner:discovering unknownsoftware defects using static analysis and data miningC/Proc ofCERIASTR 20067Oink EB/OL(2006-12)http:/oink me uk/8DAVID P,RICCARDO SComparing lexical analysis is tools forbuffer overflow detection in network software C/Proc of the 1st In-ternational Conference on Communication System Software and Mid-dleware 20061203第 8 期蒋翠清,等:从关系数据库构建语义丰富本体的方法名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -