1.安装JDK
在官网上下载JDK11版本,然后配置环境
2.安装neo4j
在官网上下载neo4j,然后配置环境环境变量Path里添加neo4j的安装路径
将JDK和neo4j的环境变量配置好后,在cmd里输入java -version查看环境是否配置正确
在cmd进入到neo4j的bin目录下,再输入neo4j.bat console启动neo4j,
3.在浏览器内输入上面的网址,就可以开始操作了
第一次启动有默认用户名和密码:neo4j和neo4j,登录后会让修改密码
4.构建知识图谱,具体代码如下
(1)创建人物节点并分别命名:
CREATE (n:Person {name:'John'}) RETURN n
CREATE (n:Person {name:'Sally'}) RETURN n
CREATE (n:Person {name:'Steve'}) RETURN n
CREATE (n:Person {name:'Mike'}) RETURN n
CREATE (n:Person {name:'Liz'}) RETURN n
CREATE (n:Person {name:'Shawn'}) RETURN n
注:CREATE是创建操作,Person是标签,代表节点的类型,{}代表节点的属性,属性类似Python的字典
(2)创建地区节点:
CREATE (n:Location {city:'Miami', state:'FL'})
CREATE (n:Location {city:'Boston', state:'MA'})
CREATE (n:Location {city:'Lynn', state:'MA'})
CREATE (n:Location {city:'Portland', state:'ME'})
CREATE (n:Location {city:'San Francisco', state:'CA'})
(3)创建朋友关系:
MATCH (a:Person {name:'Liz'}),(b:Person {name:'Mike'}) MERGE (a)-[:FRIENDS]->(b)
注:方括号为关系,FRENDS为关系的类型,箭头是有方向,表示是从a到b的关系。
关系增加属性:
MATCH (a:Person {name:’Shawn’}),(b:Person {name:’Sally’}) MERGE (a)-[:FRIENDS {since:2001}]->(b)
继续增加其他关系:
MATCH (a:Person {name:'Shawn'}),(b:Person {name:'John'}) MERGE (a)-[:FRIENDS {since:2012}]->(b)
MATCH (a:Person {name:'Mike'}),(b:Person {name:'Shawn'}) MERGE (a)-[:FRIENDS {since:2006}]->(b)
MATCH (a:Person {name:'Sally'}),(b:Person {name:'Steve'}) MERGE (a)-[:FRIENDS {since:2006}]->(b)
MATCH (a:Person {name:'Liz'}),(b:Person {name:'John'}) MERGE (a)-[:MARRIED {since:1998}]->(b)
(4)创建出生地关系:
MATCH (a:Person {name:'John'}), (b:Location {city:'Boston'}) MERGE (a)-[:BORN_IN {year:1978}]->(b)
MATCH (a:Person {name:'Liz'}), (b:Location {city:'Boston'}) MERGE (a)-[:BORN_IN {year:1981}]->(b)
MATCH (a:Person {name:'Mike'}), (b:Location {city:'San Francisco'}) MERGE (a)-[:BORN_IN {year:1960}]->(b)
MATCH (a:Person {name:'Shawn'}), (b:Location {city:'Miami'}) MERGE (a)-[:BORN_IN {year:1960}]->(b)
MATCH (a:Person {name:'Steve'}), (b:Location {city:'Lynn'}) MERGE (a)-[:BORN_IN {year:1970}]->(b)
知识图谱的结果图如下:
5.查找出生在Boston的人
MATCH (a:Person)-[:BORN_IN]->(b:Location {city:'Boston'}) RETURN a,b
结果图如下:
6.为John节点添加年龄标签
MATCH (a:Person {name:'John'}) SET a.age=18 return a
也可以match (t:Person) where id(t)=6 set t.age=18 return t
结果图如下:
7.删除节点Lynn
先删除有和Lynn的关系
MATCH (a:Person{name:'Steve'})-[f:BORN_IN]->(b:Location{city:'Lynn'}) delete f
再删除节点:MATCH (a:Location {city:'Lynn'}) DELETE a
结果图如下:
8.删除所有的节点
match (a) optional match (a)-[b]-() delete a,b
结果图如下:
更多内容可参考Neo4j教程