1

我在 HA 模式下使用 Neo4j 1.9 M03,我的挑战是删除所有节点和关系以及早于某个日期的索引。

为此,我为节点和关系创建了一个属性。该属性是“YYMMDD”格式的日期戳。

我正在尝试使用以下 Cypher 查询来执行上述操作:

START n0=node(0), nx=node(*) 
MATCH n0-[r0?]-(), nx-[rx?]-() 
WHERE nx <> n0 AND HAS (nx.datestamp) AND nx.datestamp <= yyyymmdd 
OR HAS (rx.datestamp) AND rx.datestamp <= yyyymmdd
DELETE r0,rx,nx

此查询未执行我想要的操作。我在这里做错了什么?

4

2 回答 2

1

你可以试试这个

START n=node(*) 
MATCH n-[r?]-() 
WHERE  (n.datestamp? <= yyyymmdd AND r.datestamp? <= yyyymmdd) 
DELETE r,n
于 2013-06-11T13:09:36.207 回答
0
START rx=rel(*)
WHERE HAS (rx.datestamp) AND rx.datestamp <= yyyymmdd
DELETE rx;

您必须确保要删除的节点没有任何关系,要么过滤掉它们,要么另外删除它们

START nx=node(*)
WHERE HAS (nx.datestamp) AND nx.datestamp <= yyyymmdd
AND NOT((nx)--())
DELETE nx;
于 2013-06-11T09:28:51.487 回答