在Neo4j(4.1.3)中,如果一个节点不存在,我如何一个接一个地匹配3个节点

尚提

我有2个节点员工,承包商。我需要先在“员工”中获取名称的ID,如果找不到,然后在“承包商”中,但仍找不到默认名称的ID。到目前为止,我有以下内容,但是我没有正确的IF systax。

WITH row WHERE row.CREATED_BY is not null and row.CREATED_BY <> 'None'
  CALL apoc.when(row.CREATED_BY_NTID IS NOT NULL,
          "MATCH (p:Employee {name: row.CREATED_BY}) WHERE p.account ENDS WITH row.CREATED_BY_NTID return p",
          "MATCH (p:Employee {name: row.CREATED_BY}) return p",
          {row:row}) yield value
With row, value.p as p
  IF value.p IS null
    CALL apoc.when(row.CREATED_BY_NTID IS NOT NULL,
          "MATCH (p:Contractor {name: row.CREATED_BY}) WHERE p.account ENDS WITH row.CREATED_BY_NTID return p",
          "MATCH (p:Contractor {name: row.CREATED_BY}) return p",
          {row:row}) yield value
With row, value.p as p
  IF value.p IS null
        match (p:Employee) where p.name starts with 'XXXXXXX' return p
尚提

我能够在apoc.when中添加多个条件(由于某些原因,当我发布它不起作用时,也许我遇到了其他问题)。

WITH row 
  CALL apoc.when(row.CREATED_BY_NTID IS NOT NULL,
          "MATCH (p:Employee {name: row.CREATED_BY}) WHERE p.account ENDS WITH row.CREATED_BY_NTID return p",
          "MATCH (p:Employee {name: row.CREATED_BY}) return p",
          {row:row}) yield value
With row, value.p as p
    CALL apoc.when(row.CREATED_BY_NTID IS NOT NULL AND p is NULL,
          "MATCH (p:Contractor {name: row.CREATED_BY}) WHERE p.account ENDS WITH row.CREATED_BY_NTID return p",
          "MATCH (p:Contractor {name: row.CREATED_BY}) return p",
          {row:row}) yield value
With row, value.p as p
CALL apoc.when(p is NULL,
        "match (p:Employee) where p.name starts with 'XXXXXXX' return p", "", {row:row}) yield value
....

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何获取neo4j路径中的最后一个节点?

来自分类Dev

Neo4j密码使用ALL关系获取与另一个节点相关的节点

来自分类Dev

将认证数据存储在neo4j节点中是一个好习惯吗?

来自分类Dev

Neo4j Spatial仅返回一个节点

来自分类Dev

如何获取在neo4j中创建的最后一个节点?

来自分类Dev

Neo4j,仅用一个标签匹配节点

来自分类Dev

在neo4j密码中找到一个节点及其所有传入和传出节点

来自分类Dev

在Neo4j中到达第一个所需的节点时,停止遍历

来自分类Dev

Neo4j Cypher:按与另一个节点的关系对节点进行分组

来自分类Dev

Neo4j匹配与一个或另一个节点相关的节点

来自分类Dev

neo4j:用一个节点替换具有相同属性的多个节点

来自分类Dev

Neo4j如何获得(DISTINCT)所有节点以及与至少一个相同节点的关系?

来自分类Dev

neo4j创建子节点并将其链接到另一个子节点

来自分类Dev

在一个csv文件中将节点和关系加载到neo4j中的csv

来自分类Dev

为neo4j中的每个节点设置一个属性

来自分类Dev

在Neo4J中,创建两个节点之间的关系,但是如果其中一个节点不存在,则在同一调用中创建关系

来自分类Dev

Neo4j空间内距离仅返回一个节点

来自分类Dev

在带有事务终结点的neo4j图数据库中创建一个节点

来自分类Dev

Neo4JTemplate在一个查询中创建和获取ID-Spring Data Neo4j 4.0.0.M1

来自分类Dev

Spring Data Neo4j 4 Repository方法返回1个元素

来自分类Dev

给定一个根节点,如何删除neo4j中不可访问的组件(节点)?

来自分类Dev

neo4j找到一个节点来建立关系

来自分类Dev

Neo4j - 从一个节点遍历到另一个由父节点间接连接的节点

来自分类Dev

Neo4j 仅显示 1 对多关系的一个节点

来自分类Dev

在 Neo4J 中用 1 个密码创建 2 个关系

来自分类Dev

在neo4j中复制包含500k个节点和1m个关系的子树

来自分类Dev

Neo4j:跳过甚至只有一个与查询匹配的关系的节点

来自分类Dev

如果属性存在,则 Neo4J 合并节点并创建另一个具有关系的节点

来自分类Dev

Neo4j:如何按距离为每个节点找到其下一个邻居并创建关系

Related 相关文章

  1. 1

    如何获取neo4j路径中的最后一个节点?

  2. 2

    Neo4j密码使用ALL关系获取与另一个节点相关的节点

  3. 3

    将认证数据存储在neo4j节点中是一个好习惯吗?

  4. 4

    Neo4j Spatial仅返回一个节点

  5. 5

    如何获取在neo4j中创建的最后一个节点?

  6. 6

    Neo4j,仅用一个标签匹配节点

  7. 7

    在neo4j密码中找到一个节点及其所有传入和传出节点

  8. 8

    在Neo4j中到达第一个所需的节点时,停止遍历

  9. 9

    Neo4j Cypher:按与另一个节点的关系对节点进行分组

  10. 10

    Neo4j匹配与一个或另一个节点相关的节点

  11. 11

    neo4j:用一个节点替换具有相同属性的多个节点

  12. 12

    Neo4j如何获得(DISTINCT)所有节点以及与至少一个相同节点的关系?

  13. 13

    neo4j创建子节点并将其链接到另一个子节点

  14. 14

    在一个csv文件中将节点和关系加载到neo4j中的csv

  15. 15

    为neo4j中的每个节点设置一个属性

  16. 16

    在Neo4J中,创建两个节点之间的关系,但是如果其中一个节点不存在,则在同一调用中创建关系

  17. 17

    Neo4j空间内距离仅返回一个节点

  18. 18

    在带有事务终结点的neo4j图数据库中创建一个节点

  19. 19

    Neo4JTemplate在一个查询中创建和获取ID-Spring Data Neo4j 4.0.0.M1

  20. 20

    Spring Data Neo4j 4 Repository方法返回1个元素

  21. 21

    给定一个根节点,如何删除neo4j中不可访问的组件(节点)?

  22. 22

    neo4j找到一个节点来建立关系

  23. 23

    Neo4j - 从一个节点遍历到另一个由父节点间接连接的节点

  24. 24

    Neo4j 仅显示 1 对多关系的一个节点

  25. 25

    在 Neo4J 中用 1 个密码创建 2 个关系

  26. 26

    在neo4j中复制包含500k个节点和1m个关系的子树

  27. 27

    Neo4j:跳过甚至只有一个与查询匹配的关系的节点

  28. 28

    如果属性存在,则 Neo4J 合并节点并创建另一个具有关系的节点

  29. 29

    Neo4j:如何按距离为每个节点找到其下一个邻居并创建关系

热门标签

归档