一、圖
1.1 基本概念
圖是由頂點集合(vertex)及頂點間的關系集合(邊edge)組成的一種數據結構。
這里的圖並非指代數中的圖。圖可以對事物以及事物之間的關系建模,圖可以用來表示自然發生的連接數據,如:社交網絡、互聯網web頁面
常用的應用有:在地圖應用中找到最短路徑、基於與他人的相似度圖,推薦產品、服務、人際關系或媒體
二、術語
2.1 頂點和邊
一般關系圖中,事物為頂點,關系為邊

2.2 有向圖和無向圖
在有向圖中,一條邊的兩個頂點一般扮演者不同的角色,比如父子關系、頁面A連接向頁面B;
在一個無向圖中,邊沒有方向,即關系都是對等的,比如qq中的好友。
GraphX中有一個重要概念,所有的邊都有一個方向,那么圖就是有向圖,如果忽略邊的方向,就是無向圖。
2.3 有環圖和無環圖
有環圖是包含循環的,一系列頂點連接成一個環。無環圖沒有環。在有環圖中,如果不關心終止條件,算法可能永遠在環上執行,無法退出。

2.4 度、出邊、入邊、出度、入度
度表示一個頂點的所有邊的數量
出邊是指從當前頂點指向其他頂點的邊
入邊表示其他頂點指向當前頂點的邊
出度是一個頂點出邊的數量
入度是一個頂點入邊的數量
2.5 超步
圖進行迭代計算時,每一輪的迭代叫做一個超步
三、圖處理技術
圖處理技術包括圖數據庫、圖數據查詢、圖數據分析和圖數據可視化。
3.1 圖數據庫
Neo4j、Titan、OrientDB、DEX和InfiniteGraph等基於遍歷算法的、實時的圖數據庫;
3.2 圖數據查詢
對圖數據庫中的內容進行查詢
3.3 圖數據分析
Google Pregel、Spark GraphX、GraphLab等圖計算軟件。傳統的數據分析方法側重於事物本身,即實體,例如銀行交易、資產注冊等等。而圖數據不僅關注事物,還關注事物之間的聯系。例如,如果在通話記錄中發現張三曾打電話給李四,就可以將張三和李四關聯起來,這種關聯關系提供了與兩者相關的有價值的信息,這樣的信息是不可能僅從兩者單純的個體數據中獲取的。
3.4 圖數據可視化
OLTP風格的圖數據庫或者OLAP風格的圖數據分析系統(或稱為圖計算軟件),都可以應用圖數據庫可視化技術。需要注意的是,圖可視化與關系數據可視化之間有很大的差異,關系數據可視化的目標是對數據取得直觀的了解,而圖數據可視化的目標在於對數據或算法進行調試。
