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)來增強其知識推理及數據關聯性。由于按三元組模型來實現的圖數據庫產品很少,在此不作進一步介紹,有興趣的讀者可以深入查閱語義義的相關資料。
- Python數據分析入門:從數據獲取到可視化
- 正則表達式必知必會
- Access 2016數據庫技術及應用
- INSTANT Cytoscape Complex Network Analysis How-to
- 一個64位操作系統的設計與實現
- 數據庫技術實用教程
- Hadoop大數據開發案例教程與項目實戰(在線實驗+在線自測)
- Solaris操作系統原理實驗教程
- 新手學會計(2013-2014實戰升級版)
- 大數據技術原理與應用:概念、存儲、處理、分析與應用
- 智慧城市中的大數據分析技術
- 商業智能工具應用與數據可視化
- Deep Learning with R for Beginners
- 區塊鏈應用開發指南:業務場景剖析與實戰
- Python數據可視化之matplotlib精進