1.2 圖數據庫基礎概念
1.2.1 圖數據模型
圖數據需要存儲到具體圖數據庫中,才能最終落實為具體的數據文件,這個過程自然就涉及了特定的圖數據模型,即采用什么實現方式來保存圖數據。常用的有三種:屬性圖(Property Graphs)、超圖(Hypergraphs)和三元組(Triples)。下面分別討論每種模型。
1.2.1.1 屬性圖
屬性圖模型直觀更易于理解,能描述絕大部分圖使用場景,也是當下最流行的圖數據模型。Neo4j采用的就是這種屬性圖模型。符合下列特征的圖數據模型就稱為屬性圖:
● 包含節點和關系。
● 節點可以有屬性(鍵值對)。
● 節點可以有一個或多個標簽。
● 關系有名字和方向,并總是有一個開始節點和一個結束節點。
● 關系也可以有屬性。
1.2.1.2 超圖
超圖是一種更為廣義的圖模型。在超圖中,一個關系(稱作超邊)可以關聯任意數量的節點,無論是開始節點端還是結束節點端,而屬性圖中一個關系只允許一個開始節點和一個結束節點,因此,超圖更適用表示多對多關系。比如常見的房產擁有關系,如圖1-4所示,在房產證上張三與李四共同擁有三套房,在超圖中就只需一條超邊(擁有)就能表示出來。
但現實中,僅僅一條超邊來表示擁有關系,可能會隱藏很多細節,例如房產證中每套房張三、李四各自占有的比率,因此,如果用屬性圖來表示將更為豐富,一條超邊將轉化為6條屬性圖中的關系,如圖1-5所示。

圖1-4 房產擁有關系超圖表示

圖1-5 房產擁有關系屬性圖表示
1.2.1.3 三元組
三元組思想來源于語義義(Semantic Web),雖然迄今為止,只有很少的網絡資源是用語義義來表示的,但研究人員發現可以使用帶語義的標簽網來表示圖數據。三元組是一個包含主謂賓的數據結構,例如張三和李四擁有三套房子等。顯然,單個三元組的語義還是比較有限,需要借助資源描述框架(Resource Description Framework,RDF)來增強其知識推理及數據關聯性。由于按三元組模型來實現的圖數據庫產品很少,在此不作進一步介紹,有興趣的讀者可以深入查閱語義義的相關資料。
- Voice Application Development for Android
- 文本數據挖掘:基于R語言
- MySQL從入門到精通(第3版)
- 文本挖掘:基于R語言的整潔工具
- 深度剖析Hadoop HDFS
- OracleDBA實戰攻略:運維管理、診斷優化、高可用與最佳實踐
- Unity 2018 By Example(Second Edition)
- Filecoin原理與實現
- 改進的群智能算法及其應用
- 數據中心經營之道
- Hands-On Deep Learning for Games
- 數字化轉型方法論:落地路徑與數據中臺
- Hadoop海量數據處理:技術詳解與項目實戰(第2版)
- 用戶畫像:平臺構建與業務實踐
- Swift 2 By Example