本发明属于计算机技术领域,尤其涉及一种基于图模型的企业知识图谱建立方法及查询方法。
背景技术:
图数据模型用图来存储数据,是最接近高性能的一种用于存储数据的数据结构方式之一。一个图由无数的节点和关系组成,最简单的图是单节点的,一个记录,记录了一些属性。一个节点可以包含若干属性,将数据用关系连接起来分布到不同节点上才是有意义的。关系将节点组织成任意的结构,允许一张图被组织成一个列表,一张地图,或者一个由关系高度关联的结构组成复杂的实体。但现有图数据模型通常仅仅建立和表达两个节点之间的关系,其无法满足三个或三个以上节点之间的关系表达的结构和难度。
图数据模型查询搜索通常使用dijkstra最短路径算法。最短路径算法是一种求单源、无负权的最短路,其具有时效性较好等特点。最短路径算法所用的时间复杂度为o(v*v+e),如果图数据模型源点可达,则o(v*lgv+e*lgv)=>o(e*lgv)。如果图数据模型是稀疏图,此时e=v*v/lgv,所以算法的时间复杂度可为o(v^2)。如果图数据模型是斐波那契堆作优先队列,则算法时间复杂度为o(v*lgv+e)。但是该算法实际应用困难,在处理节点和边数量较大的复杂图形时,在时间复杂度上面表现不佳。
为了克服现有技术中的上述缺陷,本发明提出了一种基于图模型的企业关联关系拓扑建立方法及查询方法。本发明使用traversal进行数据查询,traversal算法从一些起始节点开始查询与其关联的节点,为节点和关系建立索引,可以使查询更加高效。
技术实现要素:
本发明提出了一种基于图模型的企业知识图谱建立方法,包括如下步骤:
模型建立步骤:构建图数据模型,所述图数据模型包括图数据结构模块、图挖掘算法模块和查询接口模块;
数据记录步骤:获取样本的企业关联关系数据,按所述图数据模型分别将所述企业关联关系数据记录于所述图数据结构模块;
接口封装步骤:根据常用应用场景将图挖掘算法封装成所述查询接口模块,以json格式返回关系图模型。
本发明提出的基于图模型的企业知识图谱的建立方法中,所述图数据结构模块包括:节点、关系和属性。
本发明提出的基于图模型的企业知识图谱的建立方法中,所述节点包括:自然人与机构。
本发明提出的基于图模型的企业知识图谱的建立方法中,所述关系包括:法定代表人、直系亲属、任职与投资。
本发明提出的基于图模型的企业知识图谱的建立方法中,所述属性包括:实体注册时间、注册资本等。
本发明还提出了一种基于所述图数据模型的图形化查询方法,包括如下步骤:
步骤一:所述图挖掘算法模块使用traversal算法,定义paths参数;
步骤二:输入待查询节点,根据待查询节点通过dijkstra算法对所述图数据模型中的单一源最短路径进行搜索;
其中,dijkstra算法描述如下:
1.令arcs表示弧上的权值。若弧不存在,则置arcs为正无穷。s为已找到的从v出发的终点的集合,初始状态为空集。那么,从v出发到图上其余各顶点v[i]可能达到的长度的初值为d=arcs[locatevex(g,v[i])],v[i]∈v;
2.选择v[j],使得d[j]=min{d|v[i]∈v-s};
3.修改从v出发的到集合v-s中任一顶点的最短路径长度。
步骤三:输入待查询节点,根据待查询节点通过kruskal算法对所述图数据模型中的最小生成树进行搜索;
算法描述如下:
1.输入:一个加权连通图,其中顶点集合为v,边集合为e;
2.初始化:vnew={x},其中x为集合v中的任一节点(起始点),enew={},为空;
3.重复下列操作,直到vnew=v:
a.在集合e中选取权值最小的边<u,v>,其中u为集合vnew中的元素,而v不在vnew集合当中,并且v∈v(如果存在有多条满足前述条件即具有相同权值的边,则可任意选取其中之一);
b.将v加入集合vnew中,将<u,v>边加入集合enew中;
4.输出:使用集合vnew和enew来描述所得到的最小生成树。
本发明的有益效果在于:本发明通过建立图数据模型,根据企业知识库的数据建立企业、自然人之间的财务、隶属、雇佣等关系,并以图形化显示两个或三个以上企业与企业、企业与自然人、自然人与自然人之间的关系,公开了一种新的企业关联关系拓扑图建立及查询系统。
本发明通过使用广度优先traversal进行数据查询,广度优先traversal算法从一些起始节点开始查询与其关联的节点,为节点和关系建立索引,可以使查询更加高效。
附图说明
图1为本发明基于图模型的企业知识图谱建立方法的流程图。
图2为本发明实施例的图数据模型逻辑视图。
图3为基于图模型的企业知识图谱查询方法的流程图。
图4为本发明实施例的图数据模型遍历搜索算法视图。
图5为本发明实施例的图数据模型索引视图。
图6为本发明实施例的图数据模型业务模型设计。
图7为本发明实施例的图数据模型最短路径搜索算法示例。
图8为本发明实施例的图数据模型遍历算法示例。
图9为本发明实施例的实现根据单个企业查询所有与其有直接关系的自然人或机构
图10为本发明实施例的实现根据两个企业,查询指定步长内二者之间所有关联关系。
图11为本发明实施例的实现根据一批企业,查询指定步长内这批企业相互之间的关联关系。
具体实施方式
结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
图1显示的是本发明基于图模型的企业知识图谱建立方法,具体包括如下步骤:
模型建立步骤:构建图数据模型,所述图数据模型包括图数据结构模块、图挖掘算法模块和查询接口模块;
数据记录步骤:获取样本的企业知识图谱数据,按所述图数据模型分别将所述企业知识图谱数据记录于所述图数据结构模块;
接口封装步骤:根据常用应用场景将图挖掘算法封装成所述查询接口模块,以json格式返回关系图模型。
图2显示的是本发明实施例中图数据模型逻辑视图。在本实施例中,图数据结构模块包括:节点、关系和属性。其中节点被设置为包括:自然人与机构;关系被设置为包括:法定代表人、直系亲属、任职与投资;属性包括:注册时间、法人代表、注册资本、认缴、实缴金额等。节点和关系分别具有相应的属性,而节点与节点之间则通过关系进行组织。
如图6所示,本实施例中的节点包含名称和属性;关系包括名称属性,其具有方向。本实施例中包含4个节点包含:自然人甲、公司a、公司b、公司c,关系包括投资关系、任职关系。自然人甲与公司a为投资关系,与公司b为任职关系;公司a分别与公司b及公司c为投资关系,公司b与公司c为投资关系。通过利用上述节点与关系能够通常地描述企业与企业、自然人与企业之间的关联关系,并通过查询以生成相应的图形化查询结果。
实施例1
在添加一组企业的关联关系时,首先向拓扑结构中录入该企业的各维度图谱数据。该企业的图谱数据包括:机构名称、其法定代表人、投资方、债务或债权方、分支机构、供应链关系、诉讼关系、担保、舆情引用、文书引用等。数据录入过程中,将关系实体记录在图数据模型的节点中,将实体间的关系记录在边中,将实体本身的特征记录在节点属性中。
接着,根据实时获取的数据通过语义解析技术将实体和实体之间的关系提取出来,形成以时间、实体、关系为主要要素的事件。最后,通过与存量数据库中实体本身的特征匹配,将非结构化的工商、司法、舆情、财务映射到企业知识图谱中的节点、边和属性。
图3显示的是本发明基于图模型的企业关联关系拓扑图形化查询方法,其包括:
步骤一:所述图挖掘算法模块使用traversal算法,定义paths参数、depth参数、返回节点数量参数;
步骤二:输入待查询节点,根据待查询节点通过kruskal算法对所述图数据模型中的网络进行搜索,时间复杂度为为o(e^2),使用并查集优化后复杂度为o(eloge),与网中的边数有关,适用于求边稀疏的网的最小生成树;
步骤三:利用dijkstra算法,在步骤二中所生成最小生成树中进行搜索,生成图形化查询结果。
图4显示的是图数据模型遍历搜索算法视图。本发明使用广度优先traversal算法,该算法伪代码如下:
input:agraphgandavertexvofg.
output:theclosestvertextovsatisfyingsomeconditions,ornullifnosuchavertexexists.
图7与图8使用最短路径搜索算法实例,算法如下:
1functiondijkstra(g,w,s)
2foreachvertexvinv[g]//初始化
3d[v]:=infinity//d[v]存储其他顶点到起始点s的最短距离
4previous[v]:=undefined//previous[v]存储所有顶点的前置节点
5d[s]:=0
6s:=emptyset
7q:=setofallvertices
8whileqisnotanemptyset//dijkstra演算法主體
9u:=extract_min(q)//extract_min()一般使用最小堆实现o(logn)
10s:=sunion{u}
11foreachedge(u,v)outgoingfromu
12ifd[v]>d[u]+w(u,v)//根据当前节点u的d[u]更新其相邻节点的d[v]
13d[v]:=d[u]+w(u,v)
14previous[v]:=u
图5显示的是图数据模型索引视图。索引是根据节点和边的hashmapping生成的。根据该索引,可以随机查询节点以及与该节点直接相连的一度关系的边。
实施例2
本发明优选是根据单个企业查询所有与其有直接关系的自然人或机构。
实施例3
本发明优选是根据两个企业,查询指定步长内二者之间所有关联关系。
实施例4
本发明优选实施例是根据一批企业,查询指定步长内这批企业相互之间的关联关系。
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。