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

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

主站蜘蛛池模板: 京山县| 砀山县| 麻栗坡县| 天全县| 顺昌县| 云安县| 平泉县| 葫芦岛市| 昂仁县| 静乐县| 万源市| 读书| 山西省| 凌云县| 临猗县| 灌南县| 石城县| 渑池县| 河南省| 天峨县| 宜良县| 眉山市| 桦川县| 河津市| 上虞市| 安义县| 阜阳市| 昌平区| 通海县| 贵溪市| 永靖县| 崇左市| 石柱| 西昌市| 辽阳县| 金塔县| 石狮市| 三穗县| 洪泽县| 金川县| 枣强县|