一、neo4j图数据库
1.下载并安装:
安装好启动示例项目:
如果你电脑的jdk的版本不是特别高,这里记得选择版本相对较低一点的,不然的话可能会报错
然后点击运行你的数据库就可以了
如果你的在这里报错了,可能就是你本身jdk的版本有问题了,因为
你当前使用的 Java 版本是 Java 8 (1.8.0_131),但 Neo4j 5.x 版本不再支持 Java 8。Neo4j 5.x 需要 Java 11 或 Java 17 才能正常运行。这就是为什么你的 Neo4j DBMS 启动失败的原因之一。
这里显示 active则证明正常启动了
然后点击这里的open,就会出现这样的页面:
按照箭头的提示这样点击运行neo4j给出来的示例。
在这里输入代码即可,然后他里面有提示,你可以根据他给的例子自己试试玩玩
2.启动项目&简单的练习
下面是练习neo4j的一些指令,你可以直接复制
创建节点
CREATE(emp:Emloyee);
create(n:Person{name:'Wujing',born:'1974'})
return n;
试试上面的例子你就会发现,在neo4j中关键字不管你是大写还是小写都可以被识别,所以在neo4j中,关键字是不区分大小写的,但是变量是区分的。
查询语句
match (n) return n;
match (n) where id(n)=1 return n;
match(ninetied:Movie) nineties.released >= 1990 AND nineties.released < 2000 RETURN nineties.title ;
MATCH (n {name :"Tom Hanks"})
return n;
限定节点查询
CREATE (emp1:Employee {name: 'Jane', age: 30}),
(emp2:Employee {name: 'Tom', age: 40}),
(emp3:Employee {name: 'Alice', age: 35});
match(emp:Emloyee)
where enp.name='Jane' OR emp.name='Tom'
return emp;
match(a:person)
return a limit 5;
使用 union 合并多个查询结果
CREATE (c1:Customer {name: 'David', age: 28}),
(c2:Customer {name: 'Eva', age: 40}),
(c3:Customer {name: 'Frank', age: 33});
CREATE (p1:Person {name: 'Alice', age: 30}),
(p2:Person {name: 'Bob', age: 25}),
(p3:Person {name: 'Charlie', age: 35});
match(pp:Person)
return pp.age,pp.name
union
match(pp:Customer)
return pp.age,pp.name
通过keys函数查看节点或者关系的属性键
match (a)
where a.name='Lana Wachowski'
return keys(a);
节点的修改
match (n) where id(n)=7
set n.name='Crius'
return n;
//设置多个属性中间用逗号隔开
match(n{name:"Wujing"})
set n.title='developer',n.surname='ymy';
删除节点
match (e:Emloyee) delete e;
好了今天就学到这里吧!
如果跟着一起练到了这里,给自己一个鼓励吧!今天你真的很棒
创建关系
create (s:Student{name:"wang"});
create(s:Student{name:"zhang");
create(s:Student{name:"zhengyifan"});
有关路径的学习和操作
创建节点的语句:
CREATE (:Person {name: '陈五'}),
(:Person {name: '赵亮'}),
(:Person {name: '马六'}),
(:Person {name: '张三'}),
(:Person {name: '李四'}),
(:Person {name: '王子'}),
(:Person {name: '熊宝'});
创建关系的语句:
MATCH (a:Person {name: '陈五'}), (b:Person {name: '赵亮'})
CREATE (a)-[:fof {knowYear: 2011}]->(b);
MATCH (a:Person {name: '陈五'}), (b:Person {name: '马六'})
CREATE (a)-[:fof {knowYear: 2018}]->(b);
MATCH (a:Person {name: '陈五'}), (b:Person {name: '张三'})
CREATE (a)-[:fof {knowYear: 2013}]->(b);
MATCH (a:Person {name: '张三'}), (b:Person {name: '王子'})
CREATE (a)-[:fof {knowYear: 2017}]->(b);
MATCH (a:Person {name: '赵亮'}), (b:Person {name: '王子'})
CREATE (a)-[:fof {knowYear: 2012}]->(b);
MATCH (a:Person {name: '马六'}), (b:Person {name: '李四'})
CREATE (a)-[:fof {knowYear: 2015}]->(b);
MATCH (a:Person {name: '王子'}), (b:Person {name: '熊宝'})
CREATE (a)-[:fof {knowYear: 2006}]->(b);
MATCH (a:Person {name: '李四'}), (b:Person {name: '熊宝'})
CREATE (a)-[:fof {knowYear: 2019}]->(b);