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