neo4j cypher,迭代结果

neo4j cypher,迭代结果,neo4j,cypher,Neo4j,Cypher,我有一个neo4j数据库,我想在第二部分中使用部分密码(一组节点ID)的结果: 比如: MATCH ()-[:KNOWS]->(b) FOREACH (n IN distinct(id(b))| SET n :label) 在纯密码中,是否有方法循环结果“distinct(id(b)),并对每个元素应用另一个查询?我通过以下方式获得了所需的结果: MATCH ()-[:KNOWS]->(b) WITH DISTINCT (b) RETURN id(b) 我通过以下方式获得了所需的

我有一个neo4j数据库,我想在第二部分中使用部分密码(一组节点ID)的结果:

比如:

MATCH ()-[:KNOWS]->(b)
FOREACH (n IN distinct(id(b))| SET n :label)

在纯密码中,是否有方法循环结果“distinct(id(b)),并对每个元素应用另一个查询?

我通过以下方式获得了所需的结果:

MATCH ()-[:KNOWS]->(b)
WITH DISTINCT (b)
RETURN id(b)

我通过以下方式获得了所需的结果:

MATCH ()-[:KNOWS]->(b)
WITH DISTINCT (b)
RETURN id(b)

我通过以下方式获得了所需的结果:

MATCH ()-[:KNOWS]->(b)
WITH DISTINCT (b)
RETURN id(b)

我通过以下方式获得了所需的结果:

MATCH ()-[:KNOWS]->(b)
WITH DISTINCT (b)
RETURN id(b)

原始查询有两个问题:

  • 您必须有一个集合才能使用
    FOREACH
  • n
    绑定到节点id,并且不能在节点id上设置标签,只能在节点上设置标签 您可以使用
    FOREACH
    通过执行以下操作来设置标签

    MATCH ()-[:KNOWS]->(b)
    WITH collect (distinct b) as bb
    FOREACH (b IN bb | SET b:MyLabel)
    
    在这种情况下,您不需要将其作为一个集合来执行,只需执行以下操作即可

    MATCH ()-[:KNOWS]->(b)
    WITH distinct b
    SET b:MyLabel
    

    通常,您可以通过管道将结果传送到另一个查询部分,而原始查询有两个问题:

  • 您必须有一个集合才能使用
    FOREACH
  • n
    绑定到节点id,并且不能在节点id上设置标签,只能在节点上设置标签 您可以使用
    FOREACH
    通过执行以下操作来设置标签

    MATCH ()-[:KNOWS]->(b)
    WITH collect (distinct b) as bb
    FOREACH (b IN bb | SET b:MyLabel)
    
    在这种情况下,您不需要将其作为一个集合来执行,只需执行以下操作即可

    MATCH ()-[:KNOWS]->(b)
    WITH distinct b
    SET b:MyLabel
    

    通常,您可以通过管道将结果传送到另一个查询部分,而原始查询有两个问题:

  • 您必须有一个集合才能使用
    FOREACH
  • n
    绑定到节点id,并且不能在节点id上设置标签,只能在节点上设置标签 您可以使用
    FOREACH
    通过执行以下操作来设置标签

    MATCH ()-[:KNOWS]->(b)
    WITH collect (distinct b) as bb
    FOREACH (b IN bb | SET b:MyLabel)
    
    在这种情况下,您不需要将其作为一个集合来执行,只需执行以下操作即可

    MATCH ()-[:KNOWS]->(b)
    WITH distinct b
    SET b:MyLabel
    

    通常,您可以通过管道将结果传送到另一个查询部分,而原始查询有两个问题:

  • 您必须有一个集合才能使用
    FOREACH
  • n
    绑定到节点id,并且不能在节点id上设置标签,只能在节点上设置标签 您可以使用
    FOREACH
    通过执行以下操作来设置标签

    MATCH ()-[:KNOWS]->(b)
    WITH collect (distinct b) as bb
    FOREACH (b IN bb | SET b:MyLabel)
    
    在这种情况下,您不需要将其作为一个集合来执行,只需执行以下操作即可

    MATCH ()-[:KNOWS]->(b)
    WITH distinct b
    SET b:MyLabel
    
    通常,您可以使用
    with