1
我在Neo4j中實現了基本的訪問者度量跟蹤(原諒我;我是圖形數據庫的新手)。我有三種節點類型:訪問者,會話和事件。每當我創建一個新的事件節點時,如果有必要,我還想創建新的會話和/或訪問者節點(具有相同ID的節點尚不存在)。以下是我已經試過:在Neo4j中創建唯一鏈接列表節點/關係
CREATE UNIQUE
(e:Event { type: 'pageview' })<-[:ACTION]-(s:Session { id: 'ABC'})<-[:SESSION]-(v:Visitor { id: '123' })
RETURN e,s,v;
這提供了以下錯誤:Unbound pattern!
,這是有道理的,因爲我還沒有明確的約束什麼參考節點。不過,我希望能夠以利用索引中存在的任何一種方式編寫查詢,並創建任何缺失的內容。
我使用的是2.0版(含標籤),並創建了以下指標:
CREATE INDEX on :Session(id);
CREATE INDEX on :Visitor(id);
此外,我想實現鏈表在會話事件和會話數遊客。基本上,如果存在先前存在的[:ACTION]關係,請刪除舊的關係,並將新的事件節點與前一個事件節點(針對同一個會話)相關聯。這同樣適用於會議和遊客與他們的[:SESSION]的關係,即:
curSession-[:ACTION]->curEvent-[:PREV]->prevEvent...
visitor-[:SESSION]->curSession-[:PREV]->prevSession...
我也許可以想出如何與多個查詢做到這一點,但我努力學習如何正確地利用圖數據庫結構(我擔心競爭條件)。