GQL 来了!ISO/IEC 正式发布 GQL 数据库国际标准!

历时四年筹备,超过20个国家的标准和技术专家参与制定,ISO/IEC GQL (图查询语言)标准于2024年4月12日正式发布!

作为国际标准化组织(ISO)继 1987年 发布SQL后,唯一发布的数据库查询语言标准,,GQL (Graph Query Language)的含金量不言而喻。

它的出现将成为图数据库行业的重要里程碑,推动整个行业实现螺旋上升式的发展。

了解GQL

作为一种专为属性图(Property Graph)模型设计的图查询语言,GQL 以Cypher为主要内容体系,并吸收Oracle的PGQL、SQL以及多家现行厂商图查询语言的优势,支持对各种类型的图数据进行高效查询和修改操作,能够为图数据库提供统一、直观的声明式语言。

实际应用时,GQL与Cypher的核心语法基本相同,可直接使用目前大部分Cypher语法,如 MATCH, WHERE, RETURN等常用语句关键字。

例如:查询Niki和他的朋友
在这里插入图片描述

上述语句作为Cypher查询语句和GQL查询语句都是成立的,GQL在上述语句中的语义和结果跟Cypher保持一致。因此所有现在使用Cypher的用户,都可以平顺的过渡到GQL,不需要做大的改变。

同时,GQL语言还引入一些新的关键字以提升表达能力,如 WALK,TRAIL,SIMPLE,ACYCLIC等路径搜索模式关键字,大幅增强路径检索的表达能力。

  • WALK :默认路径搜索模式,返回的路径不包含其他过滤。
  • TRAIL:返回的路径不包含重复的边。
  • SIMPLE:返回的路径不包含重复的节点,除非是路径第一个或最后一个节点。
  • ACYCLIC :返回的路径不包含重复的节点。

例如:查询从A城市出发的旅行路线,并且路线不会包括重复的城市
GQL:
在这里插入图片描述

Cypher:
在这里插入图片描述

可见,GQL标准化语言相较于其它图数据库查询语言,功能更加强大,语句更加灵活,能以较少的语句精准表达用户复杂需求。

为什么需要GQL?

随着海内外的图数据库产品在功能、性能等方面的突破提升,行业中对图数据库标准的呼声越来越高。

发布 GQL标准,一方面能够为用户、开发者以及社区提供明确的参考指南,提升图数据管理的系统化、规范化,并加强不同图数据库的互操作性,从而促进技术的广泛应用。另一方面,目前市场中图数据库查询语言多样,对于图数据库爱好者而言学习成本较高,统一的查询语言有助于构建健康的图数据库开发生态,降低使用门槛。

此外,基于以下应用优势,GQL的发布将加速企业向支持GQL标准图数据库的迁移,图数据库的发展有望进入下一阶段。

  • 数据安全保障:GQL标准可以确保企业间不同系统与服务均遵循相同查询语言和规范,确保数据一致性与合规性,减少在不同图数据库系统之间转移数据时出现的不一致和错误,降低跨系统间数据交互、迁移、转换带来的数据失真风险。
  • 开发效率提升:标准化查询语言有助于研发团队基于同一框架和最佳实践路径进行开发,减少沟通障碍和二次学习成本。此外,随着行业标准化框架的制定,各类插件和工具对GQL语言的兼容能力也将增强,从而打破图数据库互操作性壁垒,提高开发人员工作效率。
  • 运维成本降低:根据GQL标准理念优化的图数据库,能够避免查询语言转换带来的额外开销,并提高了代码的可读性和可维护性,长远来看,能够减少企业系统运维和迭代成本。

当然,任何查询语言都存在落地和优化的问题,比如部分厂商可能需要改变原有的产品架构,改进解析层和执行层,以及补充标准中要求支持的功能模块。但毫无疑问,GQL标准将与图数据库发展之间形成一个巨大的正反馈,加速推动行业跨越市场节点,进入成熟期。

创邻科技协同发力

作为图数据库行业专家,创邻科技创始人张晨博士、CTO周研博士与其他中方代表一起积极参与到 GQL 标准的建设工作中,贡献自己专业力量。

创邻科技CTO周研博士表示:“GQL的设计理念先进,整合了图查询语言的现有需求,提高图查询在复杂用例中的实用性,同时涵盖了工业级图查询语言的所有特性,具备很好的引领和指导作用。”

基于对GQL标准的深度认知,创邻科技核心产品Galaxybase图数据库现已支持 GQL 的查询,并在图查询引擎内针对GQL语言深度优化。

未来,创邻科技将继续深度参与GQL标准的建设,积极推动Cypher到GQL的无缝过渡,并开发更安全、更稳定、更强大的图数据库,致力于让更多的组织采用“图”完美解决各种复杂问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/14535.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

瑞米派Ubuntu系统移植指南-米尔RemiPi

1.概述 Linux系统平台上有许多开源的系统构建框架,这些框架方便了开发者进行嵌入式系统的构建和定制化开发,目前比较常见的有Buildroot, Yocto, OpenEmbedded等等。 同时更多的传统的桌面系统也加入到嵌入式环境体系中,如Ubuntu&#xff0c…

Marin说PCB之POC电路layout设计仿真案例---03

今天天中午午休的时候,我刚要打开手机的准备刷抖音看无忧传媒的学生们的“学习资料”的时候,看到CSDN -APP上有提醒,一看原来是一位道友发的一个问题: 本来小编最近由于刚刚从国外回来,手上的项目都已经结束了&#xf…

如何制作正方形,给 placeholder 换颜色,多行省略号,纯css小三角,清除浮动,清除 margin,隐藏滚动条,隐藏 number 小图标

https://www.npmjs.com/package/sass-runtime-tool yarn add sass-runtime-tool -D # or npm i -D sass-runtime-tool use "sass-runtime-tool/all.scss" as *;// 改变 placeholder 的颜色和大小 .input {include placeholder(red) {font-size: 12px;} } /* 或者 *…

一个模板元函数来检查一个类是否有一个特定的成员

通过创建一个模板元函数来检查一个类是否有一个特定的成员。以下是一个例子&#xff1a; #include <type_traits>template<typename T, typename void> struct has_type_member : std::false_type {};template<typename T> struct has_type_member<T, s…

Matlab:音频处理

用Matlab绘制一段音频信号在时域上的波形图&#xff0c;然后用低通滤波器滤掉噪音并再次绘制 1、导入音频文件 filename X:\1.mp3; % 替换为你的音频文件路径 [x, Fs] audioread(filename); 2、获取音频信号长度 len length(x); 3、计算时间轴 t (0:len-1) / Fs; 4、…

小程序properties默认值定义及父子组件的传值

因经常写vue&#xff0c;很久没写小程序&#xff0c;容易串频道&#xff0c;现记录一下小程序的组件用法、监听传入值及父子传值方式 首先小程序中传值是没有&#xff1a;(冒号)的&#xff0c;其次properties中定义默认值不需要写default 1.自定义组件中&#xff0c;首先json…

OSPF原理(1)

一、OSPF介绍 OSPF&#xff08;Open Shortest Path First&#xff0c;开放最短路径优先&#xff09;协议作为一种基于链路状态的路由协议&#xff0c;它为网络中的路由器提供了一种高效、可靠的方式来共享路由信息&#xff0c;并计算出最短路径。 特点&#xff1a; 收敛速度快…

踩坑——纪实

开发踩坑纪实 1 npm安装1.1 查看当前的npm镜像设置1.2 清空缓存1.3 修改镜像1.4 查看修改结果1.5 重新安装vue 2 VScode——NPM脚本窗口找不到3 springboot项目中updateById()失效4 前端跨域4.1 后端加个配置类4.2 CrossOrigin注解 5 路由出口6 springdoc openapi3 swagger3文件…

C语言函数递归

文章目录 一、递归1.递归的概念2.递归的思想3.递归的限制条件 二、递归的一些典型例子1.求一个数的阶乘2.顺序打印一个整数的每一位3.汉诺塔4.青蛙跳台阶5斐波那契数列递归和迭代的对比 一、递归 1.递归的概念 递归是学习C语言函数绕不开的一个话题&#xff0c;那什么是递归呢…

【算法刷题day56】 Leetcode:647. 回文子串、516. 最长回文子序列

文章目录 Leetcode 647. 回文子串解题思路代码总结 Leetcode 516. 最长回文子序列解题思路代码总结 草稿图网站 java的Deque Leetcode 647. 回文子串 题目&#xff1a;647. 回文子串 解析&#xff1a;代码随想录解析 解题思路 斜上三角&#xff0c;从左下往上遍历&#xff0c…

【代码随想录】动态规划之完全背包问题与打家劫舍问题

前言 更详细的在大佬的代码随想录 (programmercarl.com) 本系列仅是简洁版笔记&#xff0c;为了之后方便观看 完全背包 for(int i 0; i < weight.size(); i) { // 遍历物品for(int j weight[i]; j < bagWeight; j) { // 遍历背包容量dp[j] max(dp[j], dp[j - weigh…

ElementPlus Steps步骤条插槽 v-slot:title

<el-steps finish-status"success"><el-stepv-for"item in uniqueReverseArr":status"item.status 2? success: item.status 3? error: item.status 1? finish: process"click.native"stepClick(item)"><templat…

PyTorch中Tensor简介

PyTorch中所有的操作都是基于Tensor&#xff08;张量&#xff09;的&#xff0c;因此理解张量的含义并能够自由创建张量是十分必要的。 张量是PyTorch中最基本的操作对象。我们可以用数学中的概念来辅助理解一下张量&#xff0c;如图5-1所示。 标量&#xff08;Scalar&#x…

c#数据库的增删改查

** 安装数据库包 ** 在使用 SQLite 数据库时&#xff0c;你需要安装适当的 NuGet 包来提供与 SQLite 的集成。 1.打开 Visual Studio 中的你的项目 2.在顶部菜单栏中选择 “项目” -> “管理 NuGet 包” 3.在 NuGet 管理器中搜索 “System.Data.SQLite” 4.找到适合你项目…

【openlayers系统学习】1.1渲染GeoJSON,添加link交互

一、渲染GeoJSON 在进入编辑之前&#xff0c;我们将看一下使用矢量源和图层进行基本要素渲染。Workshop在 data​ 目录中包含一个 countries.json​ GeoJSON文件。我们首先加载该数据并将其渲染在地图上。 首先&#xff0c;编辑 index.html​ 以便向地图添加深色背景&#xf…

Vue 组件的生命周期钩子有哪些用途是什么

Vue 组件的生命周期钩子提供了在不同阶段执行特定逻辑的机会&#xff0c;这些钩子在组件的创建、挂载、更新、销毁等过程中被调用。以下是每个生命周期钩子的常见用途&#xff1a; beforeCreate 用途&#xff1a;由于在这个阶段&#xff0c;组件的 data、computed、methods 和…

使用llama.cpp实现LLM大模型的格式转换、量化、推理、部署

使用llama.cpp实现LLM大模型的量化、推理、部署 大模型的格式转换、量化、推理、部署概述克隆和编译环境准备模型格式转换GGUF格式bin格式 模型量化模型加载与推理模型API服务模型API服务(第三方)GPU推理 大模型的格式转换、量化、推理、部署 概述 llama.cpp的主要目标是能够在…

【代码随想录算法训练营第37期 第十五天 | LeetCode226.翻转二叉树、101.对称二叉树 2】

代码随想录算法训练营第37期 第十五天 | LeetCode226.翻转二叉树、101.对称二叉树 2 一、226.翻转二叉树 解题代码C&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : …

【软考中级 软件设计师】数据结构

数据结构是计算机科学中一个基础且重要的概念&#xff0c;它研究数据的存储结构以及在此结构上执行的各种操作。在准备软考中级-软件设计师考试时&#xff0c;掌握好数据结构部分对于通过考试至关重要。下面是一些核心知识点概览&#xff1a; 基本概念&#xff1a; 数据结构定义…

VBA_MF系列技术资料1-615

MF系列VBA技术资料1-615 为了让广大学员在VBA编程中有切实可行的思路及有效的提高自己的编程技巧&#xff0c;我参考大量的资料&#xff0c;并结合自己的经验总结了这份MF系列VBA技术综合资料&#xff0c;而且开放源码&#xff08;MF04除外&#xff09;&#xff0c;其中MF01-0…