neo4j数据库学习

1.下载安装
需要有jdk环境,需要配置环境变量
2.忘记密码怎么办
网上大部分方法都是删除data下的dams文件,但是我没有找到,使用https://blog.csdn.net/sinat_39595180/article/details/108379378 的方法成功重置密码
这句话前面的注释去掉或者将false改为true可以无需验证登录
3. 怎么更换数据库
neo4j4.1.3版本社区版仍然不支持多个数据库切换,因此切换数据库需要更新conf文件
study为数据库名,切换为自己需要的即可需要去掉这句换前面的#
4.怎么加载csv文件
方法1:用neo4j-import在终端导入,命令为:

neo4j-admin import  --database=study --nodes data\person.csv --nodes data\school.csv   --relationships data\study.csv 

其中data为存放csv文件的位置,问题:csv格式的数据可能不太对,目的是存放进去两种节点,一种person,一种school,但是存进去之后person和school是作为节点属性,和预期不符。而且采用此方法是必须一次全部导入
方法2:
当数据存储在import文件夹下的时候,执行命令导入节点:

LOAD CSV FROM  'file:///school.csv' AS line CREATE (:school{name:line[0]})
	导入关系:
LOAD CSV   from "file:///relation.csv" as row 
       match (f1:person{name:row[0]})
       match (f2:school{name:row[1]})
       merge (f1)-[r:study]->(f2)
       return count(*)

5.删除所有关系和节点

match (a)-[b]-(c) Delete a,b,c

6.查询

MATCH (a:seedid{name:'1021986956'})-[r:support]-(b:person)-[r1:study]-(n:school)
WITH  
     size((n)<-[r1:study]-(b)) as out, n,b,r1
WHERE out>3
return b,r1,n

7.neo4j查询慢 当几十万数据查询慢的时候可能需要创建索引
命令为
CREATE INDEX ON :school(name)
8.根据出度或者入度进行查询

WITH size((n)-[:Relation]->()) as out, 
     size((n)<-[:Relation]-()) as in,
     n
RETURN  out
match (a:seedid{name:'1021986956'})-[r1:support]-(b:person)-[r2:study]-(c:school)
with size((b:person)-[r2:study]->(c:school)) as out
order by out desc
return out
limit 30
MATCH (n:school)
WITH  
     size((n)<-[:study]-()) as out
RETURN  out 
ORDER BY out DESC

用命令创建一个关系

match(a:seedid{name:'1021986956'}),(b:school{name:'UP College of Law'})
create (a)-[:study]->(b)
return a,b

查询图中关系为5到8层的数据
match q=(x)-[*5..8]-() return q limit 200
查询两个节点之间的最短路径

MATCH (x:seedid{name:"1021986956"}),(y:seedid{name:"1166334012"}),p=shortestpath((x)-[*..10]-(y))RETURN p

查询两个节点之间的所有路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值