图数据库是知识图谱系统的核心。在实际的应用中,为什么要做图数据库选型,图数据库选型应该怎么做?
蚂蚁集团图数据库负责人洪春涛,在知识分享社区Datafun的演讲中,对这些问题进行了分析和解答。以下是演讲原文整理。
1、为什么要做图数据库选型
图数据库是知识图谱系统的核心。在典型的知识图谱系统中,数据会在知识抽取、整理和推理之后,被存放到图数据库中,然后图数据库会支撑知识图谱的查询、更新、推断等任务。因此图数据的选型决定了图谱系统的规模、性能、稳定性,对整个图谱系统应用非常重要。
目前行业内图数据库类型非常多,常见的有Neo4j、JanusGraph,以及蚂蚁集团研发的图数据库TuGraph等,整体数量在几十种左右。但他们之间的差异非常大,比如查询语言上Neo4j用的是Cypher,JanusGraph用的是Gremlin。
图数据库的图模型也有很大差异。图数据库目前大部分以属性图为主,也有另外一类是RDF图,这两种图数据库从数据抽象上不一样,其它很多特性,比如有没有用户权限,有没有多图、有没有超图,这些特征也都非常不一样。
使用图数据主要的问题在于,它不像关系型数据库是一个标准的关系代数的抽象,上面有标准的SQL语言。目前图数据库没有完全标准化下来,所以对于很多用户造成了很大的困扰,在选图数据库的时候,不知道应该怎么选。
另外一个主要的问题是,图数据库现在很多应用场景其实是偏探索类的,在具体场景当中,会用到哪些算法,需要哪些特性,用户事先并不知道,因此更难选择图数据库的类型。