天天看点

Neo4j学习手册--2.2.1节Cypher基本语法学习笔记

2.2.1 Patterns模式 一、Node syntax 节点语法

()

(matrix)

(:Movie)

(matrix:Movie)

(matrix:Movie {title: "The Matrix"})

(matrix:Movie {title: "The Matrix", released: 1997})

1、()代表一个节点uncharacterized node 2、(matrix)添加了一个变量为matrix的节点。 3、(:Movie)表示一个标签,声明节点的类型。 4、Title、released 表示节点的属性,描述节点的特征。 5、(matrix:Movie {title: "The Matrix", released: 1997})含义为:一部于1997年拍摄的名叫《The Matrix》的电影用节点matrix表示。

二、Relationship syntax 关系语法

--> -[role]-> -[:ACTED_IN]-> -[role:ACTED_IN]-> -[role:ACTED_IN {roles: ["Neo"]}]->

1、-->或<--表示有向关系,--无向关系 2、 [ … ] 括号内的表达式可以添加细节,包括变量如 role 、属性如 roles 、类型如 ACTED_IN. 3 、 - [ role:ACTED_IN { roles: [ "Neo" ]}] -> 含义为:出演一个叫 Neo 角色用 role 变量表示 三、Pattern syntax 模式语法

(keanu:Person:Actor {name: "Keanu Reeves"} ) -[role:ACTED_IN     {roles: ["Neo"] } ]-> (matrix:Movie       {title: "The Matrix"} )

结合节点和关系的语法,我们可以表达模式。语义为:Keanu Reeves在The Matrix中扮演了Neo一角色。

四、Pattern variables模式变量

acted_in = (:Person)-[:ACTED_IN]->(:Movie)

 acted_in变量将包含两个节点和被发现或创建的每个路径的连接关系。