Cypher中merge的用法
# 查找人物和城市,再查找他们之间“亲人”的关系,若找不到该关系,则创建该关系,并返回它们,
MATCH (n:Person {name:'Robert'}), (m:Person {name:"hanscal"})
MERGE (n)-[r:FAMILY]->(m)
RETURN n.name,type(r),m.name
# 从已经存在的节点中,匹配到节点属性值,然后进行批量复制,下面把person节点的bornIn属性,赋值给City这个类型的节点
MATCH (person:Person)
MERGE (city:City { name: person.bornIn })
RETURN person.name, person.bornIn, city
导入节点文件
LOAD CSV WITH HEADERS FROM "file:///entity_test.csv" AS line
MERGE (p:Entity_test{ID:line.ID,name:line.name,LABEL:line.LABEL})
导入关系文件
在neo4j的bin目录下输入:
neo4j-admin import --mode=csv --database=graph.db --nodes F:\neo4j\neo4j-community-3.5.31\import\entity_test.csv --relationships F:\neo4j\neo4j-community-3.5.31\import\roles_test.csv
删除没有关系的节点集合Entity_test:
MATCH (e:Entity_test) DELETE e
删除有关系的节点集合ID
MATCH (cc: ID)-[r]-(c:ID)
DELETE cc,c,r
注意:
neo4j-admin import --mode=csv --database=graph08.db --nodes F:\neo4j\neo4j-community-3.5.31\import\entity_test.csv --relationships F:\neo4j\neo4j-community-3.5.31\import\roles_test.csv
使用Py2neo连接Neo4j图数据库出现“ValueError: The following settings are not supported”报错
原因:通过pip安装的Py2neo默认为最新版本,该版本变更了用于连接Neo4j数据库的Connection profiles指令格式,因此旧版Py2neo教程中给出的连接指令无法起作用。
//旧版Connection profiles示例
from py2neo import *
graph = Graph('http://localhost:7474/',username='neo4j',password='123456')
//py2neo 2021.1版本的Connection profiles示例
from py2neo import *
graph = Graph("http://localhost:7474", auth=("neo4j", "123456"))
解决方案: