以開發版的TigerGraph圖數據庫爲例。
若沒有多圖權限的話,若TigerGraph中已經有其他圖數據,則會執行Drop ALL命令。以下是在gsql環境下執行。
第一步:創建Vertex
命令如下:CREATE VERTEX Person(PRIMARY_ID name STRING, name STRING, gender STRING)
CREATE VERTEX關鍵字用來創建頂點類型,Person是自定義頂點類名,每個頂點必須有一個PRIMARY_ID標識符,可以理解爲SQL中的主鍵約束,標識同類型頂點的不同實例,即每個人都必須有唯一標識符,可爲屬性中的一個也可單獨設置類型,如STRING,後邊是自定義屬性,創建成功後都可使用ls命令查看:
第二步:創建Edge
創建一條Friendship無向 邊,命令:CREATE UNDIRECTED EDGE Friendship(FROM Person, TO Person)
CREATE … EDGE關鍵字用來創建邊,中間加UNDIRECTED表示無向邊,加DIRECTED表示有向邊,FROM和TO表示邊的src和dst。使用ls命令查看:
在創建有向邊時要加上“WITH REVERSE_EDGE=”,這樣是爲了逆向訪問。如 a->b 這個有向邊,若沒有逆向邊則只能從a訪問到b,而不能從b訪問到a,若不需要逆向訪問,則可不添加逆向邊。
注意:gadmin status –v graph顯示的邊個數和原始數據的記錄數目可能不一致。原因:無向邊需要雙向訪問,存儲時其實時兩條邊,有向邊,若有逆向邊也是兩條邊,若沒有逆向邊則只有一條。
第三步:創建Graph
創建social圖,命令:CREATE GRAPH Social (Person, Friendship)
CREATE GRAPH關鍵字用來創建一個子圖,圖中包含頂點Person和邊Friendship。若圖中還需要其他頂點和邊,都可加入裏面,也可使用CREATE GRAPH Social(*),默認把存在的頂點和邊類型都加入進去,創建圖時TigerGraph(TG)需要把相關信息推送到GSE、GPE、RESTPP等服務。使用ls命令查看:
至此,在TigerGraph的gsql shell情況下創建一個graph Schema完成。
注意:
創建多圖(multigraph)必須是商業版本並且有多圖權限。在schema.gsql中加入多個命令
CREATE GRAPH ×××Graph(×××,×××)即可,在子圖中需要包含的節點類型和邊類型放在括號中。
以下使用TigerGraph的GraphStudio工具創建圖模型
GraphStudio的默認TCP/IP端口14240。
注意:
(1)只有超級管理員才能再設計圖模型頁面中編輯圖模型;
(2)若不止一個圖,則超級管理員只能編輯圖的視覺元素;
(3)不管是gsql shell還是通過GraphStudio創建的圖模型,開發版的只能有存在一個圖。
添加Vertex
選擇左邊的“Design Schema”界面,點擊左上端的“add vertex type”的“+”按鈕。
至此,添加Vertex類成功。
添加Edge類
添加Edge類:添加或編輯Edge時,需要初始點和目標點。點擊左上角的“Add edge type”按鈕,當“Add edge type”按鈕出現灰色狀態後,點擊初始頂點,然後在該頂點的旁邊提示“Select the target vertex to create an edge”,然後點擊目標頂點,若當前界面之後一種頂點,則在剛纔的初始頂點上點擊(只有一種類型的頂點時,初始頂點類型也是目標頂點類型),彈出界面:
創建的Vertex、Edge所組成的Graph:
創建Vertex、Edge和Graph後還需要發佈Graph模型。
點擊“publish schema”即可,等待幾分鐘。
至此,創建Vertex、Edge和Graph完成。