《知识图谱管理系统设计研究及分析范文.docx》由会员分享,可在线阅读,更多相关《知识图谱管理系统设计研究及分析范文.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 知识图谱管理系统设计研究及分析范文学问图谱治理系统设计讨论及分析范文 1学问图谱技术概述 学问图谱是通过图模型来描述现实世界中各种人或物之间的关系。在学问图谱的图模型中一般使用节点来描述人或物,用节点之间的边来描述人或物之间的关系;每个节点和关系都可设置不同的属性进展区分。在学问图谱中节点和节点之间的关系构成了一个主、谓、宾的三元组。基于Neo4J的学问图谱治理系统的分析与设计唐勇(常州纺织服装职业技术学院常州213164)学问图谱技术最早起源于20世纪60年月提出的语义网络(SemanticNetworks),然后经受了20世纪80年月本体论和语义Web的进展,直到2023年谷歌公司第一次
2、将学问图谱(KnowledgeGraph)的概念应用于谷歌搜寻引擎的查询结果中,这才促使学问图谱的应用进入快速进展的阶段3。目前,学问图谱的应用可分为两种类型,即:通用领域学问图谱和垂直领域学问图谱2。其中,通用领域学问图谱在构建过程中倾向于应用的广泛性,一般采纳自底向上的构建方式并需广泛的采集数据,需较长的建立周期和较简单的数据处理工作。此类型的学问图谱比拟知名的有普林斯顿大学的WordNet词典学问库、接近人类自然语言表述的常识学问库ConceptNet以及具备多语言可编辑特性的大规模链接学问库WikiData等;垂直领域学问图谱是针对详细行业构建的应用于特定领域的学问图谱,垂直领域学问图
3、谱一般采纳自顶向下的构建方式;目前,此类型的学问图谱在国内各行、各业都有大量的应用案例,比方,在电子商务领域阿里巴巴公司构建以网络零售商品数据为主的学问图谱,在医疗卫生领域有中医药学问图谱和中医养生学问图谱等,在农林科技领域有中国农科院构建的水稻学问图谱。学问图谱的构建步骤主要包括学问的表示、数据的采集、学问的抽取和学问挖掘2。学问表示可用资源描述框架(ResourceDescriptionFramework,简称RDF)来描述,RDF通过一个主、谓、宾三元组来描述学问,便利转化为自然语言。学问表示也可通过本体建模语言OWL(OntologyWebLanguage)来描述,相对于RDF,OWL
4、具有更丰富的关系词汇和推理。数据资源的采集可从传统的关系型数据库中猎取构造化数据,也可通过网络爬虫技术从互联网中猎取大量的非构造化数据。学问的抽取包括对抓取的数据进展分词、词性标注、实体识别和实体关系抽取等步骤;其中,实体识别是从数据资源中识别出人物或大事等能够学问图谱中呈现的节点,可采纳基于规章和词典的方法,也可采纳统计学习方法,统计学习方法包括隐马尔可夫模型和条件随机场模型。基于规章和词典的方法对实体的识别较为准确,但可扩展性差、难以发觉新词汇;而基于统计学习的方法能发觉新词汇,但模型训练周期长、收敛速度较慢。学问挖掘阶段包括实体对齐和实体链接,实体对齐是将来自于不同数据源的一样实体合并,
5、统一命名;实体链接是要将抽取的实体与学问图谱中要描述的实体进展对应。 2基于Neo4J的图形数据库介绍 Neo4J是一种开源无模式并支持事务治理的图形数据库。不同于传统的关系型数据库,Neo4J使用图数据构造来存储实体和实体间关系数据,而不是使用表来存储。这种存储方式极大地提升多层次关系查询的效率。Neo4J的图模型由实体(Entity)、属性(Property)和关系(Relationship)构成。图模型中的实体和关系都具有唯一的ID标识,也可自定义标签(Label)来相互区分。数据库治理员可通过Neo4J供应的Cypher查询语言对图模型进展治理操作。Cypher查询语言类似于传统关系型
6、数据库的构造化查询语言SQL,它通过Create和Match命令对实体和关系的创立、修改、删除和查询。Neo4J为高级程序设计语言供应两种访问图数据的方式。一种是以API接口的方式嵌入程序中,此种方式适合于Java语言,Neo4J具有特地的Java类库可以高效的操作图数据库;另外一种方式是通过REST接口的方式执行Cypher查询命令,高级语言程序将Cypher查询命令包装发送给Neo4J数据库引擎执行,并对返回的结果进展分析处理。REST接口的访问方式适合于PHP或Python程序语言,其执行的流程如下列图1所示:以PHP程序设计语言为例,通过REST接口访问Neo4J数据库的流程如下: 2
7、.1下载Neo4J驱动程序 通过PHP语言特地的包治理工具Composer下载Neo4J数据库的驱动程序包neo4j-php-client。2.2建立与Neo4J数据库的连接使用驱动包中ClientBuilder类的create方法生成Neo4J客户端,并使用客户端的addConnection方法连接Neo4J数据库的7474端口。$client=ClientBuilder:create()-addConnection(default,http:/neo4j:123456localhost:7474);2.3使用REST接口方式执行Cypher命令在步骤2中生成的客户端连接client具有ru
8、n方法,该方法承受一个字符串类型的参数,将要执行的Cypher命令作为字符串传递给run方法,就会得到返回结果。假如要在图数据库中增加一个Person类型的实体p1,执行方法如下:$client-run(create(p1:person)returnp1);假如建立将类型为Person的两个实体p1和p2建立联系,执行方法如下:$client-run(MATCH(p1:person)MATCH(p2:person)CREATE(p1)-r:link-(p2);上述方法通过Match命令查询出p1和p2,然后通过Create命令建立实体p1和p2的连接。 2.4处理Cypher命令的查询结果 执
9、行步骤3的run方法会返回结果对象$result,通过该对象的getRecords方法返回查询结果列表。结果列表中的每个列表项都包含查询实体或关系的标签label、类型type和值value属性。通过上述四个步骤就可用高级程序设计语言对Neo4J进展的数据操纵和查询。对查询到的结果还可结合开源的Echarts图表库,在扫瞄器端以关系图的形式可视化显示。因此,可用效劳器端的程序设计语言将Neo4J数据库和关系型数据库MySQL进展优化整合,充分发挥两种类型数据库各自的优势,形成基于Web的学问图谱治理信息系统。 3基于Neo4J的学问图谱治理系统分析 随着学问图谱技术的普及和进展,越来越多的行业
10、和企业具有构建学问图谱的需求。垂直领域学问图谱一般采纳自顶向下的方式,依据行业专家的阅历学问进展构建。但学问图谱的构建技术相对较为简单,非计算机领域的专家并不熟识学问图谱的构建工具,也无法在短时间内把握Neo4J图形数据库技术,更不会使用图形数据库的Cypher查询语言,这为学问图谱技术的推广和应用带来阻碍。因此,有必要设计一款能为各个行业领域专家使用的学问图谱治理系统。为便于学问图谱技术的普及和推广,该系统应基于Web技术,采纳B/S体系构造来实现。学问图谱的治理者和使用者通过扫瞄器即可登录访问并创立、治理和分析学问图谱,避开学习简单的Cypher查询命令。 3.1根底功能方面 基于Web的
11、学问图谱治理系统应具有学问图谱的创立、删除、修改和查询及可视化展现功能。其中,学问图谱的创立功能应包括实体的创立、属性创立及关系的创立。学问图谱的治理功能应包括该学问图谱中全部节点和关系的删除和修改功能。学问图谱的查询功能不仅要支持对单个学问图谱的关系查询,也应支持多个学问图谱的联合查询。对查询结果的展现功能应同时支持传统的文字列表展现和可视化图形展现。这里的可视化图形展现可借助Echarts图形库中的关系图来渲染。图2是系统分析中的用例图,展现系统根底功能之间的相互关系;图2学问图谱治理系统的用例图 3.2访问权限方面 基于Web的学问图谱治理系统是多用户治理的信息系统,需供应用户权限治理功
12、能。因此需对访问用户提进展角色划分,将系统的访问者分为构建者和使用者。两者具有不通的访问权限,构建者用户具有学问图谱的创立功能和打算学问图谱是否公开的功能。使用者用户具有对公开学问图谱的查询功能。当需联合多个学问图谱的查询时,使用者必需猎取学问图谱的权限并导入多个公开的学问图谱; 3.3技术功能方面 需充分结合传统关系型数据库和图形数据库的优势,关系型数据库具有信息存储标准化的优势,而图形数据库具有高效查询简单关系的优势。因此对学问图谱中的用户信息、图谱信息、实体及关系的信息均采纳关系型数据库MySQL存储,而对实体关系网络则存储在Neo4J数据库中。采纳效劳器端程序设计语言PHP来维护两种数
13、据库中信息的全都性。 4基于Neo4J的学问图谱治理系统设计 通过对上述学问图谱治理系统的功能和技术需求分析可看出,该系统主要涉及用户、学问图谱、节点、属性及关系五个实体。为能有效对学问图谱进展治理,采纳关系型数据库存储这五个实体的详细信息,同时在用户构建学问图谱模型时将这些信息存入Neo4J数据库中。在数据模型关系中,用户表中具有“用户类型”字段用于区分学问图谱的创立者和使用者。学问图谱表通过“用户ID”字段与用户表建立一对多的关系,从而允许一个用户同时创立多个学问图谱,也使得用户登录后,可快速治理属于自己的学问图谱。节点表通过“节点ID”与属性表进展一对多的关联,从而允许一个节点可具有多个
14、属性。属性表的“属性类型”使用字符串格式,存储Neo4J中支持的根底数据类型,包括:字符串(String)、整型(Int)、浮点型(Float)、布尔型(Bool)等数据类型。由于Neo4J主要描述的是从起始节点到完毕节点间的关系,因此,在关系表中使用“主节点ID”字段代表起始节点,使用“客节点ID”代表完毕节点,节点间的关系名称存储在“关系名称”字段中。关系表通过“主节点ID”与节点表中的“节点ID”建立一对多的关联,表示在学问图谱中一个节点可对应多个关系。依据上述数据关系模型中五个实体的字段构成可设计相应的类。User类代表用户表、Graph类代表图谱表、Nodes类代表节点表,Relat
15、ions类代表关系表,Properties类代表属性表。以Nodes节点类为例,该类除包括节点ID、节点标签、节点名称和节点描述外,还应包括一个属性列表,列表中的每一项都关联到属性类中,形成节点和属性间一对多的关联关系。Nodes节点类还应有创立、删除和修改方法。其中,在创立方法中,它接收用户发送的Web表单,从Web表单中提取所需的节点信息,并将提取的节点信息添加到Nodes表中,同时调用Neo4J数据库的REST接口,在Neo4J数据库中生成相应的节点。在删除方法中,它接收Web页面发送过来的节点ID,先以REST接口方式发送删除节点的Cypher命令给Neo4J数据库引擎执行,然后以SQ
16、L查询命令恳求MySQL数据库在Nodes表中删除节点记录,同时也要关联删除Properties表中的属性记录。实体关系Relations类中的创立和删除方法也需同时在图形数据库和关系数据库中维护信息的全都性。MySQL数据库和Neo4J数据库都支持完整的事务治理,因此,可将上述功能的实现放置在事务单元中处理,从而维护两个数据库数据的全都性。当系统使用者输入查询关键词时,在效劳器端设置一个查询掌握器,特地接收用户提交的查询表单,分析查询表单数据。假如用户的查询恳求是简洁的节点或属性查询时,查询掌握器就将查询关键词转发给Nodes节点类,由Nodes类查询MySQL数据中的Nodes表或Prop
17、erties表,并将查询结果以文字列表的形式反应给用户查询界面。假如用户查询的是实体关系时,查询掌握器就将查询关键词传递给Relations类的查询方法,由该方法依据查询关键词构建Cypher查询语句,然后使用REST接口的方式传递Cypher命令给Neo4J数据库执行。对于关系查询的结果,可转换成符合Echarts图表的JSON数据构造,在扫瞄器端利用Echarts的关系图渲染学问图谱。 5结论 学问图谱尤其是垂直领域的学问图谱正在被越来越多的行业关注并应用。但学问图谱的构建技术和查询技术相对较简单,在肯定程度上阻碍学问图谱在行业领域的普及。行业领域专家需要的是能将专业学问存储并共享的学问图谱构建平台。通过设计一个基于Web技术的学问图谱治理系统,可以满意行业领域专家对学问图谱创立、共享和查询的根本需求。本系统有效地结合传统关系型数据库和图形数据库Neo4J的优势:利用MySQL数据库存储和查询单一的实体和属性信息,利用Neo4J数据库查询实体关系,满意简单关系的查询需求;对于查询结果采纳文字和Echarts关系图两种方式呈现,以便于学问图谱的展现和共享。(.Wk114.Cn 转载请注明 )