2018年12月 24日 —— 日前,TigerGraph宣布正式开源 TigerGraph GSQL 图数据库算法库,发布三大类共十大核心算法。通过开放这些算法库,将为用户提供图分析的算法模板和示范,让用户以更加简单易用的方式支持更广泛场景的业务分析。
目前,用户可以从github下载该算法库 ,体验TigerGraph原生并行图数据库的高速查询和算法库强大的分析能力 。
图数据库核心算法
图数据库算法是一系列的函数,用于计算图、图内顶点及其相互关系的指标和特征。 它可以从内部揭示出某个图中的各个实体之间的角色及其关联关系。
TigerGraph GSQL图算法库包含了一系列性能卓越的GSQL查询,所以GSQL的图形算法本质上是GSQL查询。每种算法都可以作为一个独立的查询使用,而每个查询都可以实现某种标准的图算法。
在算法运行中,用户可以选择三种不同格式的输出结果,包括 JSON格式流输出、 输出值写入表格类文件,以及保存为顶点属性值。
目前,GSQL的图形算法库中开源的核心算法可分为三类:路径搜寻的算法、衡量中心度的算法以及衡量群体度的算法。
路径搜寻的算法,用于帮助用户找到最短路径或评估某条路径的可行性或质量。其中主要包括:
- 无权重单起点最短路径算法(Single-Source Shortest Path)。这种算法在大量应用中都有广泛运用,例如估计事件影响、评估知识传播,或者用于调查犯罪的方法等。
- 含权重单起点最短路径算法(Single-Source Shortest Path)。 这种算法在寻找更优路线的应用中非常普遍,例如在GPS导航的路径规划中寻找两个地点之间的最短路径。
衡量中心度的算法,用于帮助确定网络中某个顶点对于总体的重要性,可以用来解释“位置有多靠中心”这样的问题。其中主要包括:
- 页面排名算法(PageRank)。这种算法主要用于测量每个顶点对于其他顶点的影响力,例如能够揭示个人在社交网络中的社会影响力大小、寻找复杂网络分析中的源头和权威性等。
- 接近中心度算法(Closeness Centrality)。这种算法可以帮助精确地衡量某一个顶点到底“多靠近中心”,例如在复杂的社交网络中,确定出中心度越高的个体,越有可能是网络中的一个中心。
衡量群体度的算法,主要用于评估一个网络结构中个体组合或分裂的程度,同时也能够获得网络的组织程度正在加强或削弱的趋势。其中主要包括:
- 连通分量算法(Connected Components)。这种算法能够帮助确定互相连通的一组顶点和边的最大范围,例如在社会网络分析领域用于寻找网络中的有联系的小团体或个体。
- 标签传播算法(Label Propagation)。这种算法是一种启发性算法,利用顶点间的关系建立关系完全图模型,用于确定社群内部关系,例如广泛地应用到多媒体信息分类、虚拟社区挖掘等领域。
图:TigerGraph算法库总览
TigerGraph GSQL 算法库特点
作为TigerGraph专门开发的图数据库查询语言,GSQL大大降低了用户的学习和使用门槛,不需要用户具有特别专业的数据库知识。由于GSQL的图形算法本质上是GSQL查询,所以运行算法查询与运行GSQL查询的动作是相同的。
正是由于TigerGraph GSQL查询语句特别适用于图数据库的算法,使得高性能的GSQL 算法库具有显著的特点和优势:
- 图灵完备:完全支持命令式编程和程序式编程,是算法运算的理想选择,特别适合高效实时分析。
- 并行和分布式处理:每种算法都可以作为一个独立的查询使用,也可作为模块在大型图上被调用计算。
- 代码规范且扩展自由:由于基于GSQL规范编写并由用户自行编译,用户可以非常容易地修改和定制。
- 完全开源:用户可以通过公布的示例学习不同的GSQL算法,并且也可将自行开发的代码提交到算法库中。
TigerGraph是非常完备和优化的图数据库平台,支持大规模图存储以及大规模图的运行处理,具有非常强大的查询语言和算法库。TigerGraph的技术突破代表了图数据库发展的最新方向,标志着正式迈入了第三代图数据库时代。TigerGraph也因此被Strata Data Awards授予“最具颠覆性初创公司”的奖项。
TigerGraph的原生并行图系统与市场上的图数据库解决方案相比,该项技术在查询速度和存储容量方面均具有明显的领先优势。另外,TigerGraph目前推出TigerGraph Cloud,支持在公有云(AWS以及Azure)中应用GSQL查询和可自定义的图算法库。
体验全球最快和功能强大的图数据库,请点击TigerGraph网站获得永久免费的开发者版本;获得高性能GSQL算法库,请登录github下载;阅读更详细的算法库文档,请登录TigerGraph文档分享网站。