Neo4j 简介
Neo4j 简介
让我们创建我们的第一个基本图!我们将创建一个类似于您在视频中看到的(或类似于您在这张图片中看到的)内容。

当然,如果您不是巴塞罗那的支持者,您可以随意更改它。
CREATE (m:Player{name:"Lionel Messi"}), (b:Team{name:"Barcelona"})
WITH m, b
CREATE (m)-[p:PlaysFor]->(b)
SET p.since=2001
//SET p.since=date("2001-02-01") // For some reason the GraphGists don't support dates
RETURN m, p, b
朋友网络
但是上一个例子相当简单,不如我们创建一个朋友网络来看看还能做些什么…
// Create nodes
CREATE (rob:Person{name:'Roberto'}), (isidro:Person{name:'Isidro'}),
(tony:Person{name:'Antonio'}), (nora:Person{name:'Nora'}),
(lily:Person{name:'Lilian'}), (freddy:Person{name:'Alfredo'}),
(lucas:Person{name:'Lucas'}), (mau:Person{name:'Mauricio'}),
(alb:Person{name:'Albina'}), (reg:Person{name:'Regina'}),
(j:Person{name:'Joaquín'}), (julian:Person{name:'Julián'})
// Create relationships
CREATE
(rob)-[:FriendsWith]->(isidro), (rob)-[:FriendsWith]->(tony), (rob)-[:FriendsWith]->(reg),
(rob)-[:FriendsWith]->(mau), (rob)-[:FriendsWith]->(julian),
(tony)-[:FriendsWith]->(reg), (tony)-[:FriendsWith]->(j),
(alb)-[:FriendsWith]->(reg), (lily)-[:FriendsWith]->(isidro), (lily)-[:FriendsWith]->(j),
(mau)-[:FriendsWith]->(lucas), (lucas)-[:FriendsWith]->(nora), (freddy)-[:FriendsWith]->(nora);
// Query the relationships
MATCH friendships=()-[:FriendsWith]-()
RETURN friendships
🤔
让我们找出与 Lucas 是朋友的人(请注意,我们不关心关系的方向,我们在关系中没有使用箭头 →
)
MATCH friends=(a:Person{name:'Lucas'})-[:FriendsWith]-(friend)
RETURN friends
Lucas 的朋友的朋友的朋友呢?想象一下在 SQL 中做这样的事情…
MATCH friends=(a:Person{name:'Lucas'})-[:FriendsWith*3]-(friend)
RETURN friend.name
或者更高级一点,Joaquín 和 Lucas 之间的最短路径是哪条
MATCH (lucas:Person{name:'Lucas'}), (joaquin:Person{name:'Joaquín'}),
p = shortestPath((lucas)-[*]-(joaquin))
RETURN p
此页面有帮助吗?