美文网首页
cypher的关系同构策略

cypher的关系同构策略

作者: alue | 来源:发表于2022-08-19 09:37 被阅读0次

在路径匹配上,Cypher 使用的是 关系同构 策略,也就是说,在一次路径匹配中,同一个关系最多返回一次。
这个说法不好理解,用案例来解释如下:

CREATE
  (adam:User {name: 'Adam'}),
  (pernilla:User {name: 'Pernilla'}),
  (david:User {name: 'David'}),
  (adam)-[:FRIEND]->(pernilla),
  (pernilla)-[:FRIEND]->(david)

得到这样的图结构:


我们来查找朋友的朋友

MATCH (user:User {name: 'Adam'})-[r1:FRIEND]-()-[r2:FRIEND]-(friend_of_a_friend)
RETURN friend_of_a_friend.name AS fofName

返回如下结果

+---------+
| fofName |
+---------+
| "David" |
+---------+

Rows: 1

如果更改查询方式, 分成两个匹配语句

MATCH (user:User {name: 'Adam'})-[r1:FRIEND]-(friend)
MATCH (friend)-[r2:FRIEND]-(friend_of_a_friend)
RETURN friend_of_a_friend.name AS fofName

那么就会返回两个结果

+---------+
| fofName |
+---------+
| "David" |
| "Adam"  |
+---------+

Rows: 2

这就是关系同构策略,在一次匹配中,一个关系不会返回两次。

如果更换匹配的写法,用逗号分成两个路径:

MATCH
  (user:User {name: 'Adam'})-[r1:FRIEND]-(friend),
  (friend)-[r2:FRIEND]-(friend_of_a_friend)
RETURN friend_of_a_friend.name AS fofName

实际上,这仍然是一次匹配模式,关系同构策略依旧生效,所以返回结果仍然是一个结果。

+---------+
| fofName |
+---------+
| "David" |
+---------+

Rows: 1

相关文章

  • cypher的关系同构策略

    在路径匹配上,Cypher 使用的是 关系同构 策略,也就是说,在一次路径匹配中,同一个关系最多返回一次。这个说法...

  • NEO4j的多标签、多关系查询

    对于节点的多节点匹配方案: 对于关系的多类型查询: 对于cypher 语法,建议参考:Neo4j Cypher R...

  • 图数据库neo4j介绍(3)——Cypher

    什么是Cypher1.“Cypher”是一个描述性的类Sql的图操作语言。相当于关系数据库的Sql,可见其重要性!...

  • Neo4j之Cypher学习总结

    Cypher 语句 Cypher是图形数据库Neo4j的声明式查询语言。Cypher语句规则和具备的能力:Cyph...

  • Neo4j -- Cypher基础

    Cypher: Cypher是一种声明式描述性的图查询语言,能够实现简单高效的查询和更新图形数据库。Cypher语...

  • Neo4j - Cypher Query Language -

    Cypher Query Language (CQL) 是 Neo4j 所使用的开放图形查询语言。Cypher 的...

  • Cypher 通识说明

    Cypher 介绍 Cypher 类似 SQL 语言,也保留了些 SQL 关键词比如 WHERE、ORDER BY...

  • Cypher语句实践一

    本文假定读者是没有Cypher语法基础的,故先补充介绍一点基本知识。 几个基本符号的含义: 节点:( ) 关系:[...

  • Nosql-neo4j-Cypher 函数 概要

    目录:[TOC] Cypher函数概要 Cypher函数输入为null,输出也为null 函数输入是字符串时,输入...

  • Cypher语法关键字(二)CREATE、MERGE、CREAT

    cypher关键字 cypher关键字可分为三类。 读关键字:MATCH、OPTIONAL MATCH、WHERE...

网友评论

      本文标题:cypher的关系同构策略

      本文链接:https://www.haomeiwen.com/subject/rcaygrtx.html