gr图数据库能做些什么?查询语言说了算
新一代图数据库已经在市场上站稳脚跟,与之相伴的一代查询语言也应运而生。包括Gremlin、Cypher以及GQL等在内的各类图数据库查询语言,专门帮助用户解包图内信息。
文章插图
【 gr图数据库能做些什么?查询语言说了算】从本质上讲,一切数据库都需要一种与客户交流的方式,而查询语言的职责正是定义数据库能够做些什么。良好的图数据库查询语言应该以尽可能简单的方式帮助开发人员根据数据库内定义的网络提出复杂问题,进而释放出图数据库的强大力量。最初,这些语言各自面向不同的新数据库以专有方案的形式存在,但最近一段时间各查询语言间的开放标准正在加速建立。
在关系数据库领域,SQL(结构化查询语言)多年以来一直是行业的主导标准。它定义了一种在表内搜索符合特定条件的数据行的核心方法。如果数据跨越多个表,SQL还提供一种表对齐方法,以便将所有信息连接至统一的集合之内。SQL特别擅长查找包含与某些规定相匹配的特定字段的特定条目集合,但也就仅此而已了。
经典关系数据库也能存储图,因此在图数据库出现之前,这也是开发人员所能仰仗的唯一选择。SQL能够回答一部分基础问题,但传统查询语言却往往处理不了那些最有用、最具吸引力的问题。事实上,关系数据库在表达极端复杂关系方面远远不及图数据库,而关系数据库查询的唯一解决方案就是返回大块数据以供客户端软件运行进一步分析。
所以大家应该理解了,图查询语言的诞生是为了回答更为复杂的问题,例如:
- 在一棵家谱树中,某人有多少个远房表亲?
- 在记录朋友或关注者信息的社交媒体图片中,两个用户之间的分离程度是多少?
- 在企业的供应链中,工厂与客户之间的最长跳数是多少?
- 在一系列银行交易中,哪些人与欺诈交易间的关系高于平均水平?
- 在计算机网络中,哪些具有更高带宽的新连接可用于解决性能瓶颈?
- Gremlin——最初为Apache Tinkerpop项目开发的图搜索语言,可实现过程性或声明性查询。
- Cypher——最初由Neo4J创建,之后以OpenCypher的形式得到普及,这种声明性语言可用于搜索匹配特定属性的顶点和边。
- GQL——一项标准倡议,致力于将Cyher、GSQL以及PSQL统一起来。
- SPARQL——一种为了查询RDF格式知识图谱而建立的标准。
- PGQL——甲骨文的原创语言,用于从符合规范的顶点当中搜索并收集信息。
- GSQL——TigerGraph的原创过程语言。
- AQL——ArangoDB的原创过程语言。
不同查询语言之间存在着一系列本质差异。有些查询语言属于“声明性”,另一些则属于“过程性”。也就是说,有些是让开发者通过编写定义子集的简单规则来声明自己“想干什么”,再由数据库应用这些规则、使用可用的索引构建搜索计划、再找到一切可能的匹配项。
例如,用户可能需要查找相距10英里之内的所有超过10000美元的银行交易行为,或者是搜索互有联系而且在过去两周之内没发过新帖的社交媒体用户。这些规则可以包括对标准查询语言(“WHERE AGE
- 小米科技|不聊性能只谈拍照!新旗舰反向升级成潮流,拍照手机如何选?
- 电池|vivoY55s,能有效解决你的续航焦虑!
- 三星|试图挽回中国市场,国际大厂不断调价,从高端机皇跌到传统旗舰价
- 搜索引擎|淘宝运营系统出台春节打烊功能,淘宝运营商家该如何选择?
- 设计师|UI设计岗位薪资怎么样
- m都是大片!微软 Skype 支持将必应 Bing 图片设为通话虚拟背景
- 苹果|国内首款支持苹果HomeKit的智能门锁发布:iPhone一碰即开门
- 小米科技|预算只有两三千买这三款,颜值性能卓越,没有超高预算的用户看看
- CPU|元宇宙+高端制造+人工智能!公司已投高科技超100亿,股价仅3元
- MacBook Pro|光伏电池充电器/带MPPC的太阳能电池锂离子电池滴流充电器LTC3105