微软开源Graph Engine

2022-04-24 00:00:00 查询 数据 开源 节点 微软


微软,这个通知PC市场N多年,给我们的印象就是一个一直排斥开源的巨人。前CEO鲍尔默还曾说过“开源软件是知识产权的癌症”。 结果现在呢?越来越多的开源项目,不得不说,开源对咱们这个行业推动作用相当的明显。


回过头来说,微软亚洲研究院研究开发的Graph Engine是一个基于内存的分布式大规模图数据处理引擎。曾用名Trinity。2015年5月14日,微软正式发布Graph Engine1.0 预览版。想要研究大数据的小伙伴们,可以顺道研究这一类的技术。


你可能要问,什么是图数据。首先我们要知道它不是什么储存图片的数据库。简而言之,图数据则是以图的结构来储存和查询数据。图数据库的基本储存单位是节点(Node)、关系(edges)、属性(properties)。



“一张图 – 数据记录在 → 节点 → 包括的 → 属性里面” 简单的图是单节点的,一个记录,记录了一些属性。一个节点可以从单属性开始,成长为成千上亿,虽然会有一点点麻烦。从某种意义上讲,将数据用关系连接起来分布到不同节点上才是有意义的。




如果今后有机会,我会就图数据这个话题展开。今天我们主要聊聊微软的图引擎。


2017年2月9日,微软在GitHub上正式开源Graph Engine。地址:

https://github.com/Microsoft/GraphEngine


此Repo包含Graph Engine和以及它的图查询语言(Language Integrated Knowledge Query -- LIKQ)的源代码。LIKQ是一种可用于子图和路径查询的数据查询语言。开发者可以讲LIKQ直接嵌入到编程语言(e.g. C# 和JavaScript)中,从而帮助用户更方便直观的检索查询图数据。同时,LIKQ还具备灵活的可扩展性,用Lambda表达式表达的任意计算逻辑都可以被直接嵌入到查询语句中,从而实现强大的服务器端计算。


LIKQ由微软认知服务中的Adademic Graph Engine Search API驱动,用户可以通过微软认知服务对微软学术图谱进行实时的路径和模式匹配查询。




相关文章