我正在努力让一个csv进入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)
但最后四行不起作用。我尝试的是从时间戳大于'a'的条目'b'中获取最早的条目'c'。任何人都可以帮助我吗?
答案 0 :(得分:1)
不确定我是否正确理解了您的问题:您有一个包含带时间戳的日志记录的csv文件。每行包含一条记录。您想要将事件互连以形成基于时间戳的链接列表?
在这种情况下,我将该过程分为两个步骤:
LOAD CSV
为每行创建一个data
属性的节点
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))))