本書系統(tǒng)論述了圖數(shù)據(jù)庫的理論知識與行業(yè)應用實踐。本書分為理論篇和實踐篇,共15章。其中,理論篇包括第1~8章,由淺入深地介紹了圖數(shù)據(jù)庫的概念和底層技術(shù)原理,涵蓋主流圖數(shù)據(jù)庫的內(nèi)核原理與架構(gòu)設計、圖查詢語言、圖算法 、圖數(shù)據(jù)庫客戶端編程、圖數(shù)據(jù)庫服務端編程、圖可視化、圖數(shù)據(jù)庫選型等內(nèi)容;實踐篇包括第9~15章,介紹了圖數(shù)據(jù)庫的行業(yè)應用案例,涵蓋知識圖譜、金融、泛政府、零售、制造業(yè)供應鏈管理、企業(yè)資產(chǎn)管理、生命科學等內(nèi)容,通過這些案例,進一步啟發(fā)讀者深入思考和挖掘潛在的應用場景。針對行業(yè)案例,本書免費提供詳盡的源代碼,以便讀者動手實踐。本書適合數(shù)據(jù)庫應用開發(fā)人員、數(shù)據(jù)庫管理人員、數(shù)據(jù)科學家以及負責數(shù)據(jù)庫選型的技術(shù)專家閱讀,也適合高等院校數(shù)據(jù)庫專業(yè)的高年級本科生和研究生參考。
張晨,創(chuàng)鄰科技創(chuàng)始人兼CEO,國家特聘專家,中國計算機學會(CCF)信息系統(tǒng)專委會執(zhí)委,北京理工大學校外博導,香港科技大學(廣州)實踐副教授、圖數(shù)據(jù)實驗室聯(lián)席主任,正高級工程師,浙江大學竺可楨學院計算機科學與技術(shù)學士、加拿大滑鐵盧大學計算機科學博士、麥吉爾大學博士后,圖數(shù)據(jù)庫、分布式系統(tǒng)及并行計算領域?qū)<,?0年分布式并行系統(tǒng)研發(fā)經(jīng)歷。曾任美國運通大數(shù)據(jù)科學家、硅谷初創(chuàng)Splice Machine軟件架構(gòu)師、加拿大初創(chuàng)Graph Intelligence聯(lián)合創(chuàng)始人。吳菁,麥吉爾大學管理信息系統(tǒng)博士,荷蘭萊頓大學ICT in Business碩士,浙江大學竺可楨學院計算機科學與技術(shù)學士。圖分析領域?qū)<遥F(xiàn)任浙江創(chuàng)鄰科技有限公司聯(lián)合創(chuàng)始人兼COO,加拿大初創(chuàng)Graph Intelligence聯(lián)合創(chuàng)始人兼執(zhí)行董事,近10年圖技術(shù)商業(yè)轉(zhuǎn)化及解決方案咨詢落地經(jīng)驗,曾獲評創(chuàng)業(yè)邦2022最值得關注的女性創(chuàng)業(yè)者。周研,本科畢業(yè)于浙江大學竺可楨學院混合班,博士畢業(yè)于浙江大學計算機學院,師從陳純院士。曾為Apache開源項目貢獻者,具有10余年大型軟件項目的研發(fā)和管理經(jīng)歷。圖數(shù)據(jù)庫和分布式系統(tǒng)領域的專家,現(xiàn)浙江創(chuàng)鄰科技有限公司聯(lián)合創(chuàng)始人兼CTO,承擔多個圖計算領域省級、市級重大研發(fā)專項項目,是圖數(shù)據(jù)庫、知識圖譜領域國內(nèi)外多個標準化委員會成員,主導/參與制定多項行業(yè)標準。
目錄
理 論 篇
第1 章 初識圖數(shù)據(jù)庫 / 3
1.1 圖數(shù)據(jù)庫的發(fā)展背景 / 3
1.1.1 什么是圖 / 5
1.1.2 理解圖的手段:圖分析 / 7
1.2 圖技術(shù) / 10
1.2.1 圖計算引擎 / 10
1.2.2 圖數(shù)據(jù)庫 / 11
1.2.3 圖可視化 / 13
1.3 圖數(shù)據(jù)庫技術(shù)的優(yōu)勢 / 15
1.4 圖數(shù)據(jù)庫的分類 / 22
1.5 圖數(shù)據(jù)庫的應用場景 / 25
1.6 圖數(shù)據(jù)庫與知識圖譜 / 32
1.7 圖技術(shù)的發(fā)展趨勢 / 32
1.8 本章小結(jié) / 35
第2 章 主流圖數(shù)據(jù)庫的內(nèi)核原理與架構(gòu)設計 / 37
2.1 圖數(shù)據(jù)庫內(nèi)核設計的關鍵目標 / 37
2.1.1 免索引鄰接 / 38
2.1.2 圖數(shù)據(jù)庫內(nèi)核的分類 / 38
2.2 實現(xiàn)免索引鄰接的技術(shù)方案 / 40
2.2.1 使用數(shù)組結(jié)構(gòu)存儲 / 40
2.2.2 使用鏈表結(jié)構(gòu)存儲 / 41
2.2.3 使用LSM 樹或其他鍵值形式存儲 / 42
2.2.4 優(yōu)化之路 / 44
2.3 Neo4j / 45
2.3.1 Neo4j 存儲結(jié)構(gòu) / 45
2.3.2 Neo4j 事務 / 47
2.3.3 Neo4j 集群 / 48
2.4 JanusGraph / 50
2.4.1 JanusGraph 存儲結(jié)構(gòu) / 50
2.4.2 JanusGraph 事務 / 53
2.4.3 JanusGraph 架構(gòu) / 53
2.5 Galaxybase / 54
2.5.1 Galaxybase 系統(tǒng)架構(gòu) / 55
2.5.2 Galaxybase 分布式圖存儲 / 56
2.5.3 Galaxybase 分布式圖計算 / 58
2.5.4 Galaxybase 高性能圖展示 / 61
2.6 本章小結(jié) / 62
第3 章 圖查詢語言 / 63
3.1 圖查詢語言一覽 / 63
3.2 Cypher / 65
3.2.1 Cypher 簡介 / 65
3.2.2 Cypher 使用場景 / 66
3.2.3 Cypher 高級特性 / 75
3.3 本章小結(jié) / 81
第4 章 圖算法 / 82
4.1 圖算法概述 / 82
4.2 尋路算法 / 83
4.2.1 數(shù)據(jù)準備 / 84
4.2.2 算法介紹 / 85
4.3 中心性算法 / 97
4.3.1 數(shù)據(jù)準備 / 97
4.3.2 算法介紹 / 98
4.4 社區(qū)檢測算法 / 110
4.4.1 數(shù)據(jù)準備 / 111
4.4.2 算法介紹 / 112
4.5 相似度算法 / 122
4.5.1 數(shù)據(jù)準備 / 123
4.5.2 算法介紹 / 124
4.6 圖模式匹配算法 / 132
4.6.1 環(huán)路匹配 / 133
4.6.2 路徑匹配 / 134
4.6.3 復雜子圖 / 136
4.7 圖嵌入算法 / 138
4.8 圖神經(jīng)網(wǎng)絡算法 / 144
4.9 分布式并行圖計算 / 153
4.9.1 分布式圖計算框架 / 153
4.9.2 分布式圖計算面臨的挑戰(zhàn) / 155
4.10 圖算法的綜合應用 / 157
4.10.1 標準圖算法的應用 / 158
4.10.2 定制化圖算法的應用 / 161
4.11 本章小結(jié) / 163
參考文獻 / 164
第5 章 圖數(shù)據(jù)庫客戶端編程 / 166
5.1 概述 / 167
5.2 驅(qū)動模式 / 168
5.2.1 Java / 169
5.2.2 Python / 175
5.2.3 Go / 180
5.3 RESTful API / 185
5.3.1 登錄 / 185
5.3.2 圖列表查詢 / 186
5.3.3 圖模型操作 / 187
5.3.4 點操作 / 192
5.3.5 邊操作 / 198
5.3.6 遍歷操作 / 201
5.3.7 執(zhí)行Cypher 語句 / 203
5.4 本章小結(jié) / 204
第6 章 圖數(shù)據(jù)庫服務端編程 / 205
6.1 概述 / 205
6.2 Galaxybase PAR API
簡介 / 207
6.3 PAR 的使用方法 / 208
6.4 PAR 的自定義函數(shù) / 209
6.4.1 自定義非聚合函數(shù) / 209
6.4.2 自定義聚合函數(shù) / 210
6.5 PAR 的自定義過程 / 212
6.5.1 自定義本機過程示例 / 212
6.5.2 自定義集群過程示例 / 213
6.6 PAR 的自定義過程封裝 / 215
6.6.1 PARKit / 215
6.6.2 Traversal API / 222
6.7 PAR 管理接口 / 226
6.7.1 查詢 / 226
6.7.2 刪除 / 227
6.8 本章小結(jié) / 228
第7 章 圖可視化 / 229
7.1 圖可視化在不同領域的應用 / 229
7.2 通用圖可視化工具 / 230
7.3 圖可視化框架 / 236
7.4 基于圖數(shù)據(jù)庫的可視化平臺 / 242
7.5 Galaxybase Studio 圖可視化平臺 / 243
7.5.1 創(chuàng)建圖項目 / 243
7.5.2 圖項目管理 / 250
7.5.3 數(shù)據(jù)源管理 / 252
7.5.4 圖可視化分析 / 253
7.5.5 用戶管理 / 273
7.5.6 圖挖掘 / 274
7.6 本章小結(jié) / 275
第8 章 圖數(shù)據(jù)庫選型 / 276
8.1 圖數(shù)據(jù)庫的應用場景 / 276
8.1.1 圖分析需求:OLTP 還是OLAP / 276
8.1.2 圖數(shù)據(jù)特點 / 278
8.2 圖數(shù)據(jù)庫的存儲架構(gòu) / 280
8.3 圖數(shù)據(jù)庫的性能 / 280
8.3.1 導入性能 / 281
8.3.2 查詢性能 / 282
8.3.3 圖算法性能 / 283
8.3.4 正確性驗證 / 285
8.4 圖數(shù)據(jù)庫的功能 / 286
8.4.1 基礎圖數(shù)據(jù)庫功能 / 286
8.4.2 高階圖數(shù)據(jù)庫功能 / 289
8.4.3 可視化分析與查詢 / 290
8.5 圖數(shù)據(jù)庫選型基準測試 / 291
8.6 圖數(shù)據(jù)庫選型測試方案樣例 / 296
8.6.1 測試說明 / 296
8.6.2 測試用例 / 297
8.7 本章小結(jié) / 320
實 踐 篇
第9 章 知識圖譜 / 323
9.1 背景 / 323
9.2 影視知識圖譜 / 324
第10 章 金融 / 333
10.1 信用卡申請反欺詐 / 333
10.2 小微信貸風控 / 339
10.3 反洗錢 / 346
第11 章 泛政府 / 353
11.1 社會治安 / 353
11.2 疫情防控 / 359
11.3 電力調(diào)度 / 362
11.4 武器設備管理 / 365
第12 章 零售 / 369
12.1 商品推薦 / 369
12.2 社交網(wǎng)絡營銷 / 376
第13 章 制造業(yè)供應鏈管理 / 382
13.1 供應鏈風險管理 / 382
13.2 物流管理 / 393
第14 章 企業(yè)資產(chǎn)管理 / 400
14.1 網(wǎng)絡安全 / 400
14.2 權(quán)限管理 / 404
14.3 設備資產(chǎn)管理之智能運維 / 409
第15 章 生命科學 / 414
15.1 農(nóng)業(yè)育種 / 414
15.2 新藥研發(fā) / 418