簡體   English   中英

在Neo4j中創建后續節點之間的關系(日期屬性)

[英]Create Relationships between Consequent Nodes (on date attribute) in Neo4j

我正在嘗試將CS​​V導入Neo4j。 由於它由日志條目組成,因此我想在以后的時間創建相應的日志時使用NEXT指針/關系連接節點。

LOAD CSV WITH HEADERS FROM 'http://localhost/Export.csv' AS line
CREATE (:Entry { date: line[0], ...})

MATCH (n)
RETURN n
ORDER BY n:date


MATCH (a:Entry),(b:Entry),(c:Entry)
WITH p AS min(b:date) 
WHERE a:date < b:date AND c.date = p
CREATE (a)-[r:NEXT]->(c)

最后四行不起作用。 我嘗試的是從條目“ b”中獲取最早的條目“ c”,其時間戳比“ a”大。 有人可以幫我從這里出去嗎?

不知道我是否正確理解了您的問題:您是否有一個csv文件,其中包含帶有時間戳的日志記錄。 每行包含一個記錄。 您想將事件互連以形成基於時間戳的鏈接列表嗎?

在這種情況下,我將流程分為兩個步驟:

  1. 使用LOAD CSV為每行創建一個具有data屬性的節點
  2. 然后使用如下密碼語句連接條目:

MATCH (e:Entry) 
WITH e ORDER BY e.date DESC
WITH collect(e) as entries 
FOREACH(i in RANGE(0, length(entries)-2) | 
  FOREACH(e1 in [entries[i]] | 
    FOREACH(e2 in [entries[i+1]] |  
       MERGE (e1)-[:NEXT]->(e2))))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM