欢迎来到天天文库
浏览记录
ID:21724414
大小:32.00 KB
页数:9页
时间:2018-10-24
《知识图谱数据管理系统的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、知识图谱数据管理系统的设计与实现 本文在调研考察了多种图数据库的基础上,综合考量了分布式、扩展性、可用性、查询语言、容错性、存储后端、一致性等因素,并充分结合知识图谱数据自身所具有的特点,选取了当前流行的图数据库系统Titan作为底层存储,并对其进行进一步深入的研究,在此基础上实现了一个知识图谱数据管理系统。此系统能对知识图谱数据进行管理,包括数据的导入、数据的查询以及数据的修改,能支持billion数据量的存储,以及图上的基本操作,这些操作响应时间都在秒级。 【关键词】大数据大图知识图谱图数据库 1绪论 知识图谱是一种知识数据的管理方式,通过语义检索技术获取
2、并有机整合多源数据,用于提高搜索引擎的质量。知识图谱本质上是一种语义网络。其结点代表实体(entity)或者概念(concept),边代表实体/概念之间的各种语义关系。知识图谱在语义搜索、智能问答、知识工程、数据挖掘等领域有着广泛的应用。考虑到知识图谱所具有的大规模、图结构等特点,研究知识图谱数据的高效存储,检索,以及展示等问题具有重要的实际意义和应用价值。 图数据库是一种NoSql数据库。采用图数据库的原因很简单,因为知识图谱具有大规模、图结构等特点。图是关系的子集,它能够转化成关系模型,然而通用的关系模型对将图结构拆分成顶点、边、属性这些表,使得简单的图遍历成为
3、开销巨大的join操作,同时也丢失了图结构的整体性。而图数据库的扩展性和灵活性非常好,适合用于复杂关系管理和关系查询推理。多数图数据库提供了适合表达图结构和图查询的查询语言,有利于对图的遍历查询,而且效率高。图数据库在处理这类数据上具有巨大的优势。 2相关技术介绍 2.1RDF简介 资源描述框架是由W3C提出的一种数据模型,已经成为语义网领域存储关联数据的推荐标准。RDF提供了一种用于描述信息、使得信息能够在应用程序间不失语义地交换的通用框架。在RDF框架下,数据被描述成主体(subject)、谓词(predicate)和客体(object)。RDF中的数据可以
4、是资源描述符、文字或是空节点。 2.2图数据库 本文实现的系统基于图数据库。图数据库使用图结构来存储和查询数据,其基本存储单元是:节点、边(也可以称为关系)、属性。图数据库与关系型数据库的一个明显的区别是使用边来连接各个节点,而不是外键。 2.3Titan图数据库介绍 Titan是一个分布式的图数据库,支持横向扩展,可容纳数千亿个顶点和边。Titan支持事务,并且可以支撑上千并发用户和计算复杂图形遍历。 2.4Gremlin介绍 Titan使用Gremlin作为读取并修改数据的查询语言。Gremlin面向路径,能简单表达图的复杂遍历和转化操作,它是一种把遍
5、历操作和路径描述相结合的功能性语言。它是一种JavaDSL语言,对图表进行查询、分析和操作时使用了大量的XPath。 2.5Cassandra介绍 Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据。由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。 2.6Elasticsearch介绍 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulw
6、eb接口,是当前流行的企业级搜索引擎。设计用于云计算中,能够?_到实时搜索,稳定,可靠,快速,安装使用方便。 3系统详细设计 本文实现的知识图谱数据的管理系统,根据需求,主要分为4个模块,分别是:数据导入模块,数据查询模块,节点管理模块,边管理模块。 系统结构图如图1所示。 4系统实现 限于篇幅,本文只针对主界面和数据查询模块中深度为1的查询做详细介绍。 4.1主界面的实现 本次设计的界面是用JAVA的Awt和Swing组件来做。用选项卡来做不同的功能界面,一共有4个选项卡。对于每个选项卡本文都写了对应的JPanel类。第1个是实现查询功能的Search
7、Panel,第2个是实现数据导入功能的InsertPanel,第3个是实现节点修改删除的VertexAlterPanel,第4个是实现边修改删除的EdgeAlterPanel。查询主界面上的三个按钮分别对应了三个查询功能。“search1”是深度为1的节点查询,对“vertexsearch”输入框里输入的值进行查询。“search2”是深度为2的节点查询,对“vertexsearch”输入框里输入的值进行查询。第三个按钮“search”是最短路径的查询,源节点是“source”输入框里输入的值,目标节点是“destination”输入框里输入的值。界
此文档下载收益归作者所有