官术网_书友最值得收藏!

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)來增強其知識推理及數據關聯性。由于按三元組模型來實現的圖數據庫產品很少,在此不作進一步介紹,有興趣的讀者可以深入查閱語義義的相關資料。

主站蜘蛛池模板: 安乡县| 兴化市| 沂源县| 九龙县| 乐东| 赤城县| 新密市| 泰安市| 措美县| 木里| 托克托县| 华安县| 开封市| 临邑县| 应城市| 瑞金市| 乐陵市| 淮安市| 新安县| 新宁县| 井冈山市| 呼和浩特市| 阿拉善盟| 元阳县| 荥经县| 太湖县| 三河市| 改则县| 高青县| 庄浪县| 宣城市| 横山县| 台南市| 东莞市| 东城区| 沁阳市| 奇台县| 宣城市| 乐业县| 密山市| 凤翔县|