在 Neo4j CQL(Cypher Query Language)中,关系函数用于处理和分析图数据库中的关系。以下是一些常用的 Neo4j CQL 关系函数:

1. TYPE()

  •  TYPE(relationship): 获取关系的类型。
  MATCH (:Person)-[r]->(:Person)
  RETURN TYPE(r) AS relationshipType;

2. STARTNODE() / ENDNODE()

  •  STARTNODE(relationship): 获取关系的起始节点。
  MATCH (:Person)-[r]->()
  RETURN STARTNODE(r) AS startNode;

  •  ENDNODE(relationship): 获取关系的结束节点。
  MATCH (:Person)-[r]->()
  RETURN ENDNODE(r) AS endNode;

3. ID()

  •  ID(relationship): 获取关系的内部唯一标识符。
  MATCH (:Person)-[r]->()
  RETURN ID(r) AS relationshipId;

4. EXISTS()

  •  EXISTS(): 检查是否存在满足条件的关系。
  MATCH (:Person)-[r:KNOWS]->(:Person)
  RETURN EXISTS(r) AS hasKnowsRelationship;

5. COUNT()

  •  COUNT(relationship): 计算匹配的关系数量。
  MATCH (:Person)-[r]->(:Person)
  RETURN COUNT(r) AS numberOfRelationships;

6. COLLECT()

  •  COLLECT(relationship): 将匹配的关系收集到列表中。
  MATCH (:Person)-[r]->(:Person)
  RETURN COLLECT(r) AS allRelationships;

7. NODES()

  •  NODES(path): 获取路径中的所有节点。
  MATCH path = (:Person)-[:FRIENDS]->(:Person)
  RETURN NODES(path) AS pathNodes;

这些关系函数允许你在 Cypher 查询中处理和分析图数据库中的关系。你可以根据需要组合这些函数来执行各种操作。


转载请注明出处:http://www.zyzy.cn/article/detail/9303/Neo4j