当前位置 : 主页 > 编程语言 > 其它开发 >

Neo4j基本操作

来源:互联网 收集:自由互联 发布时间:2022-05-30
CQL: create:创建节点,关系和属性match:检索有关节点,关系和属性数据 return : 返回查询结果 where :提供条件过滤检索数据 delete : 删除节点和关系的属性order by :排序检索数据 set :

CQL:

create:创建节点,关系和属性
match:检索有关节点,关系和属性数据
return: 返回查询结果
where:提供条件过滤检索数据
delete: 删除节点和关系的属性
order by :排序检索数据
set :添加或更新标签
peoperties 属性

节点:()
关系:[ ]
 

通过文件创建关系:

load csv from "file:///data.csv" as line
create (:HLRelation{from:line[1],relation:line[3],to:line[0]})
 

通过文件创建结点:

load csv from "file:///data.csv" as line
create (:person2{name:line[0]})
 

创建图谱:

match(n:p1),(m:HLRelation),(s:p2) where m.from=n.name and m.to=s.name
create (n)-[:HL关系{relation:m.relation}]->(s)
return n.name,m.relation,s.name
 

处理结点重复问题:

找到重复的数据
match (n:Location) return count(n); # 13
match (n:Location) return count(distinct n.city); # 5 说明有6个是重复的
# 查看重复的id
match (n:Location), (m:Location) where n.city = m.city and id(n) <> id(m) return n,id(n), m, id(m); 

删除该id所在的关系
match (n:en5)-[r:Relation]->(m:en5) where id(m)=6 delete r;

删除该id
match (n:Location) where id(n)=6 delete n;
match (n:Location) where id(n) in [62,63,82] delete n;

检查
match (n:Location) return count(n); # 5
match (n:Location) return count(distinct n.city); # 5 说明没有重复的了

 

中医药数据集暂时不公开,可以用开源数据集代替:http://www.openkg.cn/group/medicine

网友评论