图数据示例

为自己创建一个记录

CREATE (you:Person {name:"You"})
RETURN you

CREATE 用于创建带有标签和属性的节点。

你喜欢 Neo4j,对吧?

让我们找到自己并向新节点添加新的关系。

MATCH  (you:Person {name:"You"})
CREATE (you)-[like:LIKE]->(neo:Database {name:"Neo4j" })
RETURN you,like,neo

CREATE 可以创建单个节点,也可以创建更复杂的结构。

创建你的朋友

MATCH (you:Person {name:"You"})
FOREACH (name in ["Johan","Rajesh","Anna","Julia","Andrew"] |
  CREATE (you)-[:FRIEND]->(:Person {name:name}))

FOREACH 允许您对列表中的每个元素执行更新操作。

查找你的朋友

MATCH (you {name:"You"})-[:FRIEND]->(yourFriends)
RETURN you, yourFriends

请注意,对于图中找到的每条路径,我们都会重复出现。

创建二级朋友和专业知识

MATCH (neo:Database {name:"Neo4j"})
MATCH (anna:Person {name:"Anna"})
CREATE (anna)-[:FRIEND]->(:Person:Expert {name:"Amanda"})-[:WORKED_WITH]->(neo)

CREATE 也可以添加更复杂的模式。

在你的网络中寻找可以帮助你学习 Neo4j 的人

MATCH (you {name:"You"})
MATCH (expert)-[:WORKED_WITH]->(db:Database {name:"Neo4j"})
MATCH path = shortestPath( (you)-[:FRIEND*..5]-(expert) )
RETURN db,expert,path