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.pswp.cn/bicheng/14535.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/14535.shtml
英文地址,請注明出處:http://en.pswp.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…