ArangoDB是一個多模型數據庫,支持文檔、圖形和鍵值數據模型。在ArangoDB中,你可以使用AQL(ArangoDB查詢語言)來編寫存儲過程。以下是一個簡單的ArangoDB存儲過程的示例,該存儲過程用于創建一個包含兩個邊屬性的簡單圖形,并插入一些節點和邊:
-- 定義存儲過程名稱
CREATE PROCEDURE createSimpleGraph()
BEGIN
-- 聲明變量
DECLARE graphId VARCHAR(255);
-- 創建圖形,如果已存在則忽略錯誤
CREATE GRAPH "SimpleGraph" IF NOT EXISTS {
-- 添加邊集合,如果已存在則忽略錯誤
CREATE EDGE COLLECTION "edges" IF NOT EXISTS {
-- 設置邊集合的屬性
CREATE PROPERTIES "from" STRING,
"to" STRING;
};
-- 添加節點集合,如果已存在則忽略錯誤
CREATE VERTEX COLLECTION "nodes" IF NOT EXISTS {
-- 設置節點集合的屬性
CREATE PROPERTIES "name" STRING;
};
};
-- 獲取新創建的圖形ID
SET graphId = CONCAT("graphs/", UUID());
-- 將圖形ID插入到系統集合中
INSERT INTO _graphs (graph) VALUES { _key: graphId };
-- 返回創建的圖形ID
RETURN graphId;
END;
要調用此存儲過程,你可以使用以下AQL命令:
-- 調用存儲過程
CALL createSimpleGraph();
這將創建一個名為"SimpleGraph"的圖形,其中包含一個名為"edges"的邊集合和一個名為"nodes"的節點集合。邊集合具有"from"和"to"屬性,節點集合具有"name"屬性。最后,存儲過程將返回創建的圖形ID。