导入方式:
- 首先通过一个csv文件,该文件存储所有的实体,导入该文件
- 然后通过另一个csv(建立了关系的文件),匹配刚才的所有实体,可以导入关系进去,存在问题,可能有一些实体没有关系。
- 导入对实体解释的文本
- 导入文本与实体关系的文件
创建节点
property keys:节点信息(采用字典的格式):包括name、skill、master等等信息,这些key最后会作为property(属性)出现在property keys的内容中。
create (n:华山{name:“令狐冲”, skill:“易筋经”, master:“岳不群”})
解释:标签为华山,实体名为令狐冲
删除
清空数据库
如何删除Neo4j中未连接的节点属性?
neo4j清空所有数据命令如下[但会有Property Keys残留]:
MATCH (n)OPTIONAL MATCH (n)-[r]-()DELETE n,r
删除属性
我可以一次删除一个属性,像下面这样:
MATCH (n:Node)REMOVE n.pagerank
删除节点:
(必须确保关系被删除,才能删除节点)
MATCH (n:华山) DELETE n;
精确删除标签:
MATCH (n:华山{skill:'易筋经'}) DELETE n;
删除关系:
MATCH p=()-[r:RELATION]->() delete p
查询
精确查询:
MATCH (n:Baike{title:'傣族文化'}) RETURN n 查询所有的关系:
MATCH p=()-->() RETURN p LIMIT 25
精确查询:
MATCH p=({title:'中国'})-->({title:'印度'}) RETURN p
查询节点个数
MATCH (n:Baike) RETURN count(*)
导入
节点导入:
(格式
title
傣族
傣族文化
)
LOAD CSV WITH HEADERS FROM "file:///BaiKe.csv" AS line
CREATE (:Baike { title: line.title })
中文乱码,CSV转为utf-8
建立唯一索引:
CREATE CONSTRAINT ON (c:Baike)
ASSERT c.title IS UNIQUE
导入关系:
LOAD CSV WITH HEADERS FROM "file:///sub.csv" AS line
MATCH (entity1:Baike{title:line.Entity1}) , (entity2:Baike{title:line.Entity2})
CREATE (entity1)-[:RELATION { type: line.relation }]->(entity2)
导入文本:
LOAD CSV WITH HEADERS FROM "file:///All_1.csv" AS line
CREATE (p:BaikeItem{title:line.title,Content:line.Content,imageName:line.imageName,Image:line.Image})
导入文本关系:
LOAD CSV WITH HEADERS FROM "file:/data//ReligionTitle.csv" AS line
MATCH (entity1:Baike{title:line.Entity1}) , (entity2:BaikeItem{title:line.Entity2})
CREATE (entity1)-[:RELATION { type: line.relation }]->(entity2)