《Neo4j 3.x入門經典》是清華大學出版社出版的圖書,作者是[法]傑羅姆·巴同(Jér?me Baton) [英]里克·范·布魯根(Rik Van Bruggen)。
圖書簡介,圖書內容,目 錄,
圖書簡介
《Neo4j 3.x入門經典》是清華大學出版社出版的一本圖書。
作者:[法]傑羅姆·巴同(Jér?me Baton) [英]里克·范·布魯根(Rik Van Bruggen) 著 張幟 主編 龐國明 胡佳輝 蘇亮 晏永年 於松林 李建潮
定價:69元
印次:1-1
ISBN:9787302519188
出版日期:2019.02.01
印刷日期:2019.01.02
定價:69元
印次:1-1
ISBN:9787302519188
出版日期:2019.02.01
印刷日期:2019.01.02
圖書內容
張幟,中國IT界元老、中國圖資料庫先導者、大數據領域資深專家、WPS曲線漢字發明人。曾任Microsoft高級軟體設計師及“維納斯計畫”技術主管,牽頭研發中國移動139手機信箱。於2017年兩會期間做客CCTV,與著名主持人阿丘老師對話,暢談《關於圖資料庫的夢想》,被業界譽為中國圖資料庫第一人。
目 錄
第1章 圖論和資料庫 1
1.1 Neo4j 3.x簡介和圖的歷史 1
1.2 圖論的定義和用途 3
1.2.1 社會學研究 5
1.2.2 生物學研究 6
1.2.3 計算機科學 6
1.2.4 流量問題 7
1.2.5 路徑問題 8
1.2.6 網頁搜尋 9
1.3 背景 10
1.3.1 導航資料庫 11
1.3.2 關係資料庫 13
1.3.3 NoSQL資料庫 15
1.4 圖資料庫的屬性圖模型 18
1.4.1 節點標籤 20
1.4.2 關係類型 20
1.5 使用圖資料庫的注意事項 20
1.5.1 為什麼使用圖資料庫 20
1.5.2 什麼時候不用圖資料庫以及用什麼替代 22
1.6 問答 23
1.7 小結 23
第2章 Neo4j基礎入門 25
2.1 Neo4j的關鍵概念和特點 25
2.1.1 從頭開始創建圖 25
2.1.2 基於事務的ACID資料庫 26
2.1.3 可用於在線上事務處理 27
2.1.4 擴展性能 28
2.1.5 聲明式查詢語言Cypher 28
2.2 Neo4j典型案例 29
2.2.1 複雜的連線密集型查詢 29
2.2.2 路徑查詢 29
2.2.3 開源解決方案 29
2.3 特性 30
2.4 許可協定 31
2.5 安裝Neo4j 32
2.5.1 在Windows系統上安裝Neo4j 32
2.5.2在Mac和Linux系統上安裝Neo4j 35
2.6在雲平台使用Neo4j 37
2.7沙盒模式 41
2.8在Docker容器中使用Neo4j 47
2.8.1安裝Docker 48
2.8.2準備檔案 48
2.8.3在Docker容器中運行Neo4j 48
2.9問答 50
2.10小結 51
第3章Neo4j數據模型 52
3.1四種基礎數據結構 52
3.2圖資料庫建模基礎 53
3.2.1ER圖和關係模式 53
3.2.2通過連線表引入複雜性 54
3.3圖模型—一個簡單、高保真的現實模型 55
3.4圖建模—最佳實踐和陷阱 57
3.4.1圖建模最佳實踐 57
3.4.2圖資料庫建模陷阱 61
3.5問答 64
3.6小結 65
第4章Cypher入門 66
4.1Cypher的語法 66
4.2Cypher的關鍵特性 67
4.3與數據很好地結合 68
4.3.1創建數據 68
4.3.2讀取數據 69
4.3.3更新數據 70
4.3.4刪除數據 71
4.4Cypher的關鍵操作詞 72
4.5語法約定 73
4.6高級知識 74
4.7Cypher參考卡 78
4.8openCypher工程 79
4.9小結 79
第5章過程—APOC 80
5.1安裝APOC 80
5.1.1機器安裝 81
5.1.2Docker容器安裝 81
5.2檢查APOC安裝 81
5.3函式和過程 82
5.4習慣用法 82
5.4.1來自朋友的建議 82
5.4.2圖概述 83
5.5關鍵用法 85
5.5.1安裝 85
5.5.2隨機圖生成器 85
5.5.3網站排名 86
5.5.4Cypher語句限時執行 86
5.5.5節點集合連線 87
5.5.6更多APOC 87
5.6問答 88
5.7小結 89
第6章Cypher擴展 90
6.1構建擴展工程 90
6.1.1創建函式 91
6.1.2創建過程 92
6.2定製聚合器 95
6.3非託管擴展 96
6.3.1HTTP和JAX-RSrefreshers 97
6.3.2JSON回響流式化 98
6.4小結 101
第7章查詢性能最佳化 102
7.1Explain和Profile指令 102
7.1.1查詢計畫 102
7.1.2運算符 104
7.2索引 105
7.2.1強制使用索引 105
7.2.2強制使用標籤 105
7.3經驗法則 106
7.3.1Explain所有查詢 106
7.3.2行 106
7.3.3不要過度消耗資源 106
7.3.4返回笛卡兒積級別的數據 106
7.3.5簡單 106
7.4小結 107
第8章Neo4j數據導入 108
8.1導入CSV檔案 108
8.2導入JSON源 111
8.3導入JDBC源 114
8.3.1測試安裝 114
8.3.2導入所有系統數據 114
8.4導入XML源 115
8.5小結 116
第9章空間 118
9.1空間簡介 118
9.1.1回顧 118
9.1.2無缺陷塔 119
9.1.3什麼是空間 119
9.2Neo4j的空間特性 119
9.3APOC的空間特性 120
9.4地理編碼 121
9.4.1設定OSM為提供商 121
9.4.2設定谷歌為提供商 121
9.5Neo4jSpatial 122
9.5.1線上示例 122
9.5.2Neo4jSpatial特性 122
9.6導入OpenStreetMap數據 124
9.7大型OSM數據導入 126
9.7.1簡易方法 126
9.7.2更直接的數據導入方法 127
9.8查詢衛生間 127
9.9理解WKT和BBOX 128
9.10刪除所有地理數據 128
9.11小結 129
第10章安全認證 130
10.1認證與授權 130
10.2角色 131
10.3用戶管理 132
10.4Neo4j連線到LDAP目錄 132
10.5使用LDAP配置Neo4j 135
10.6問答 136
10.7小結 136
第11章Neo4j可視化 137
11.1可視化的重要作用 137
11.1.1為什麼圖數據可視化很重要 137
11.1.2直觀地與數據進行互動 137
11.1.3模式識別 138
11.1.4發現重點 139
11.2圖數據可視化的基本原則 139
11.2.1開源可視化組件庫 140
11.2.2將可視化組件庫套用到項目中 143
11.2.3可視化解決方案 144
11.2.4問題和陷阱 148
11.2.5Cytoscape實例 149
11.3問答 152
11.4小結 153
第12章Neo4j數據重構 154
12.1預備步驟 154
12.2簡單改變 154
12.2.1重命名 154
12.2.2添加數據 155
12.2.3刪除數據 156
12.3重大改變 156
12.3.1知道我們的模型 156
12.3.2重構工具 157
12.3.3屬性變標籤 157
12.3.4屬性變節點 157
12.3.5相關節點變標籤 158
12.3.6合併節點 158
12.3.7關係 159
12.4結論 162
12.5小結 162
第13章集群 163
13.1為什麼需要Neo4j集群 163
13.2Neo4j集群的概念 164
13.2.1核心伺服器 164
13.2.2隻讀副本伺服器 164
13.2.3高吞吐量 164
13.2.4數據冗餘 165
13.2.5高可用 165
13.2.6Bolt協定 165
13.3構建Neo4j集群 165
13.3.1核心伺服器 165
13.3.2隻讀副本伺服器 167
13.3.3bolt+routing協定 168
13.4在Neo4j集群中實現災難恢復 169
13.5小結 169
第14章案例—推薦系統 170
14.1推薦系統剖析 170
14.2推薦系統的圖模型套用 171
14.3推薦系統查詢示例 173
14.3.1基於商品購買的推薦 173
14.3.2基於品牌忠誠度的推薦 175
14.3.3基於社交關係的推薦 176
14.3.4組合推薦 176
14.4推薦系統的業務變化 177
14.5欺詐檢測系統 178
14.6訪問控制系統 179
14.7社交網路系統 179
14.8問答 180
14.9小結 181
第15章案例—影響分析與模擬 182
15.1影響分析系統解析 182
15.1.1影響分析在業務流程管理中的套用 183
15.1.2業務圖建模 183
15.2成本計算環境中的影響模擬 187
15.2.1產品層次結構的圖建模 187
15.2.2產品層次結構圖的套用 188
15.3問答 192
15.4小結 193
附錄套用技巧介紹 194
1.1 Neo4j 3.x簡介和圖的歷史 1
1.2 圖論的定義和用途 3
1.2.1 社會學研究 5
1.2.2 生物學研究 6
1.2.3 計算機科學 6
1.2.4 流量問題 7
1.2.5 路徑問題 8
1.2.6 網頁搜尋 9
1.3 背景 10
1.3.1 導航資料庫 11
1.3.2 關係資料庫 13
1.3.3 NoSQL資料庫 15
1.4 圖資料庫的屬性圖模型 18
1.4.1 節點標籤 20
1.4.2 關係類型 20
1.5 使用圖資料庫的注意事項 20
1.5.1 為什麼使用圖資料庫 20
1.5.2 什麼時候不用圖資料庫以及用什麼替代 22
1.6 問答 23
1.7 小結 23
第2章 Neo4j基礎入門 25
2.1 Neo4j的關鍵概念和特點 25
2.1.1 從頭開始創建圖 25
2.1.2 基於事務的ACID資料庫 26
2.1.3 可用於在線上事務處理 27
2.1.4 擴展性能 28
2.1.5 聲明式查詢語言Cypher 28
2.2 Neo4j典型案例 29
2.2.1 複雜的連線密集型查詢 29
2.2.2 路徑查詢 29
2.2.3 開源解決方案 29
2.3 特性 30
2.4 許可協定 31
2.5 安裝Neo4j 32
2.5.1 在Windows系統上安裝Neo4j 32
2.5.2在Mac和Linux系統上安裝Neo4j 35
2.6在雲平台使用Neo4j 37
2.7沙盒模式 41
2.8在Docker容器中使用Neo4j 47
2.8.1安裝Docker 48
2.8.2準備檔案 48
2.8.3在Docker容器中運行Neo4j 48
2.9問答 50
2.10小結 51
第3章Neo4j數據模型 52
3.1四種基礎數據結構 52
3.2圖資料庫建模基礎 53
3.2.1ER圖和關係模式 53
3.2.2通過連線表引入複雜性 54
3.3圖模型—一個簡單、高保真的現實模型 55
3.4圖建模—最佳實踐和陷阱 57
3.4.1圖建模最佳實踐 57
3.4.2圖資料庫建模陷阱 61
3.5問答 64
3.6小結 65
第4章Cypher入門 66
4.1Cypher的語法 66
4.2Cypher的關鍵特性 67
4.3與數據很好地結合 68
4.3.1創建數據 68
4.3.2讀取數據 69
4.3.3更新數據 70
4.3.4刪除數據 71
4.4Cypher的關鍵操作詞 72
4.5語法約定 73
4.6高級知識 74
4.7Cypher參考卡 78
4.8openCypher工程 79
4.9小結 79
第5章過程—APOC 80
5.1安裝APOC 80
5.1.1機器安裝 81
5.1.2Docker容器安裝 81
5.2檢查APOC安裝 81
5.3函式和過程 82
5.4習慣用法 82
5.4.1來自朋友的建議 82
5.4.2圖概述 83
5.5關鍵用法 85
5.5.1安裝 85
5.5.2隨機圖生成器 85
5.5.3網站排名 86
5.5.4Cypher語句限時執行 86
5.5.5節點集合連線 87
5.5.6更多APOC 87
5.6問答 88
5.7小結 89
第6章Cypher擴展 90
6.1構建擴展工程 90
6.1.1創建函式 91
6.1.2創建過程 92
6.2定製聚合器 95
6.3非託管擴展 96
6.3.1HTTP和JAX-RSrefreshers 97
6.3.2JSON回響流式化 98
6.4小結 101
第7章查詢性能最佳化 102
7.1Explain和Profile指令 102
7.1.1查詢計畫 102
7.1.2運算符 104
7.2索引 105
7.2.1強制使用索引 105
7.2.2強制使用標籤 105
7.3經驗法則 106
7.3.1Explain所有查詢 106
7.3.2行 106
7.3.3不要過度消耗資源 106
7.3.4返回笛卡兒積級別的數據 106
7.3.5簡單 106
7.4小結 107
第8章Neo4j數據導入 108
8.1導入CSV檔案 108
8.2導入JSON源 111
8.3導入JDBC源 114
8.3.1測試安裝 114
8.3.2導入所有系統數據 114
8.4導入XML源 115
8.5小結 116
第9章空間 118
9.1空間簡介 118
9.1.1回顧 118
9.1.2無缺陷塔 119
9.1.3什麼是空間 119
9.2Neo4j的空間特性 119
9.3APOC的空間特性 120
9.4地理編碼 121
9.4.1設定OSM為提供商 121
9.4.2設定谷歌為提供商 121
9.5Neo4jSpatial 122
9.5.1線上示例 122
9.5.2Neo4jSpatial特性 122
9.6導入OpenStreetMap數據 124
9.7大型OSM數據導入 126
9.7.1簡易方法 126
9.7.2更直接的數據導入方法 127
9.8查詢衛生間 127
9.9理解WKT和BBOX 128
9.10刪除所有地理數據 128
9.11小結 129
第10章安全認證 130
10.1認證與授權 130
10.2角色 131
10.3用戶管理 132
10.4Neo4j連線到LDAP目錄 132
10.5使用LDAP配置Neo4j 135
10.6問答 136
10.7小結 136
第11章Neo4j可視化 137
11.1可視化的重要作用 137
11.1.1為什麼圖數據可視化很重要 137
11.1.2直觀地與數據進行互動 137
11.1.3模式識別 138
11.1.4發現重點 139
11.2圖數據可視化的基本原則 139
11.2.1開源可視化組件庫 140
11.2.2將可視化組件庫套用到項目中 143
11.2.3可視化解決方案 144
11.2.4問題和陷阱 148
11.2.5Cytoscape實例 149
11.3問答 152
11.4小結 153
第12章Neo4j數據重構 154
12.1預備步驟 154
12.2簡單改變 154
12.2.1重命名 154
12.2.2添加數據 155
12.2.3刪除數據 156
12.3重大改變 156
12.3.1知道我們的模型 156
12.3.2重構工具 157
12.3.3屬性變標籤 157
12.3.4屬性變節點 157
12.3.5相關節點變標籤 158
12.3.6合併節點 158
12.3.7關係 159
12.4結論 162
12.5小結 162
第13章集群 163
13.1為什麼需要Neo4j集群 163
13.2Neo4j集群的概念 164
13.2.1核心伺服器 164
13.2.2隻讀副本伺服器 164
13.2.3高吞吐量 164
13.2.4數據冗餘 165
13.2.5高可用 165
13.2.6Bolt協定 165
13.3構建Neo4j集群 165
13.3.1核心伺服器 165
13.3.2隻讀副本伺服器 167
13.3.3bolt+routing協定 168
13.4在Neo4j集群中實現災難恢復 169
13.5小結 169
第14章案例—推薦系統 170
14.1推薦系統剖析 170
14.2推薦系統的圖模型套用 171
14.3推薦系統查詢示例 173
14.3.1基於商品購買的推薦 173
14.3.2基於品牌忠誠度的推薦 175
14.3.3基於社交關係的推薦 176
14.3.4組合推薦 176
14.4推薦系統的業務變化 177
14.5欺詐檢測系統 178
14.6訪問控制系統 179
14.7社交網路系統 179
14.8問答 180
14.9小結 181
第15章案例—影響分析與模擬 182
15.1影響分析系統解析 182
15.1.1影響分析在業務流程管理中的套用 183
15.1.2業務圖建模 183
15.2成本計算環境中的影響模擬 187
15.2.1產品層次結構的圖建模 187
15.2.2產品層次結構圖的套用 188
15.3問答 192
15.4小結 193
附錄套用技巧介紹 194