基于图的方式表达和探索现实世界的关系,比较直接、自然和易懂。传统的关系数据库,可以有效的解决两两关系,但是当需要计算多重关联、知识图谱和社交关系等往往是有心无力。这个时候就需要图数据库出厂,以下是图数据库在db ranking的排名情况:

目前进行的工作任务需要进行复杂的关联分析,而因此引入的平台底层则使用了arangodb的图数据库。平台底层之所以使用了arangodb,更多的是因为社区版的arangodb支持集群部署和分布式计算,而neo4j的社区版则只能单机部署。当然了,arangodb的社区版在某些方面也有限制,比如特定图算法的支持和计算效率等。
Arangodb简介:
多维数据库,支持文档、图、key-value和搜索引擎,整体排名也都比较靠前,图数据处理是其中做的最好的。如下图:

对于图数据管理模块,有两个基本概念,集合和边,前者图关系中涉及到的实体,后者用来描述实体间的关系。不过,其集合的概念不仅仅限于图数据,也用于document、keyvalue和search engine。
Agrangodb的访问提供了AQL和arangosh两种方式。前者是ArangoDB Query Language(AQL)是arangodb自己的查询语言,而arangsh则采用JavaScript来实现。
以下使用AQL进行arangodb的试用。
启动arangodb后,采用web方式登录,进行以下操作:
1、创建test数据库;
2、切换到test数据库;
3、创建collection(可以理解为关系数据库的表):Clients和Contacts,这里名称是区分大小写;
4、创建edge对象:Client_rel和Client_con,注意选择类型时选择为edge。前者表示Client之间的关系,后者表示Clients和Contacts之间的关系。
5、插入Collection数据,语法如下图所示:
insert Clients:

insert Contacts:

6、插入Edges数据:
insert Client_rel:

insert Client_con:

在插入edge数据时,注意标明数据所属的collection名称,如:Clients/0001,分别表示Clients集合和其中的_key为0001的数据。
7、根据上面的数据,分析客户之间的关系,并返回分析路径:

分析路径:

以graph的方式呈现:

通过上述试用,arangodb可以非常方便的基于collecton和edge数据进行实体关系分析。语法简洁,支持多种关系的组合分析,并给出分析路径和以图的方式对结果进行呈现。
No.33。




