neo4j新手教程

本文通过一个实际的案例来一步一步使用Cypher来操作Neo4j。

这个案例的节点主要包括专业和课程两类,课程和课程之间有前置、并列等关系,专业和课程之间有包含等关系。

1、(可选)首先,我们删除数据库中以往的图,确保一个空白的环境进行操作:

MATCH (n) DETACH DELETE n

MATCH是匹配操作,而小括号()代表一个节点node(可理解为括号类似一个圆形),括号里面的n为标识符。

2、我们创建一个课程节点:

CREATE (n:Class {name:'大学英语Ⅱ'}) RETURN n

CREATE是创建操作,Class是标签,代表节点的类型。花括号{}代表节点的属性,属性类似Python的字典。这条语句的含义就是创建一个标签为Class的节点,该节点具有一个name属性,属性值是大学英语Ⅱ。

如图所示,在Neo4j的界面上可以看到创建成功的节点,👍。

3、我们继续来创建更多的课程节点,并分别命名:

CREATE (n1:Class {name:'大学英语Ⅱ'}) 
CREATE (n2:Class {name:'大学英语Ⅲ'}) 
CREATE (n3:Class {name:'大学英语Ⅳ'}) 
RETURN n1,n2,n3

如图所示,3个课程节点创建成功

4、接下来创建专业节点

CREATE (m1:profession {name:'计算机专业'})
CREATE (m2:profession {name:'软件工程'})
CREATE (m3:profession {name:'大数据'})
CREATE (m4:profession {name:'信管'})
RETURN m1,m2,m3,m4

如果节点很多时语句创建会很麻烦,建议 导入

5、接下来创建关系

CREATE (n1:class {name: "大英Ⅱ"}) 
CREATE (n2:class {name: "大英Ⅲ"}) 
CREATE (n1)-[r:BASIC]->(n2)
RETURN n1, n2

这里的方括号[]即为关系,BASIC为关系的类型。注意这里的箭头–>是有方向的,表示是从n1到n2的关系。 如图,大英Ⅱ和大英Ⅲ之间建立了BASIC关系,通过Neo4J的可视化很明显的可以看出:
6、关系也可以增加属性

CREATE (n1:class {name: "大英Ⅱ"}) 
CREATE (n2:class {name: "大英Ⅲ"}) 
CREATE (n1)-[r:BASIC {since:2021}]->(n2)
RETURN n1, n2

在关系中,同样的使用花括号{}来增加关系的属性,也是类似Python的字典,这里给BASIC关系增加了since属性,属性值为2021,表示他们建立前置关系的时间。

7、接下来增加更多的关系

CREATE (n1:class {name: "大英Ⅱ"}) 
CREATE (n2:class {name: "大英Ⅲ"}) 
CREATE (n3:Class {name:'大英Ⅳ'}) 
CREATE (n1)-[r1:BASIC]->(n2)
CREATE (n2)-[r2:BASIC]->(n3)
RETURN n1, n2,n3
也可以在创建节点的时候建立关系,如例子:CREATE (a:Person {name:'Todd'})-[r:FRIENDS]->(b:Person {name:'Carlos'})


8、然后,我们需要建立不同类型节点之间的关系-课程和专业的关系

CREATE (n1:class {name: "大英Ⅱ"}) 
CREATE (n2:class {name: "大英Ⅲ"}) 
CREATE (n3:Class {name:'大英Ⅳ'}) 
CREATE (m1:profession {name:'计算机专业'})
CREATE (m2:profession {name:'软件工程'})
CREATE (m3:profession {name:'大数据'})
CREATE (m4:profession {name:'信管'})
CREATE (n1)-[r1:BASIC]->(n2)
CREATE (n2)-[r2:BASIC]->(n3)
CREATE (m1)-[r3:REQUIRE]->(n1)
CREATE (m2)-[r4:REQUIRE]->(n1)
CREATE (m3)-[r5:REQUIRE]->(n1)
CREATE (m4)-[r6:REQUIRE]->(n1)
RETURN n1, n2,n3,m1,m2,m3,m4

待续……

参考资料:
知识图谱系列之neo4j入门
手把手教你快速入门知识图谱 - Neo4J教程

更多推荐

neo4j新手教程