赞
踩
创建节点:创建一个标签类型为“大学”的节点,该节点具有一个name属性,属性值是“清华大学”
create(:大学{name:"清华大学"})
同样的
create(:学院{name:"计算机学院"})
创建一段由大学到学院的关系
match(p1:`大学`),(p2:`学院`) create (p1)-[r:包含]->(p2)
因为手动在neo4j中导入,导致关系名只有一种,很不方便,参见文档
Patterns - Cypher Manual (neo4j.com)
所以在这里用python进行导入
- import csv # 导入csv文件
- import py2neo # 导入py2neo库
- from py2neo import Graph, Node, Relationship, NodeMatcher
-
- g = Graph('http://localhost:7474', user='neo4j', password='xxxxx', name='neo4j') #这里是你自己的用户名和密码
- #g.delete_all() # 清除neo4j中原有的结点等所有信息
-
- with open('D:/neo4j-community-5.3.0/import/test_demo1_re.csv', 'r', encoding='utf-8') as f: # 文件路径
- next(f) #跳过第一行属性名
- for line in f.readlines():
- rela_array = line.strip("\n").split(",")
- print(rela_array)
- g.run("merge (p:person{name: '%s'})" % (rela_array[0]))
- g.run("merge (p:person{name: '%s'})" % (rela_array[1]))
- g.run(
- "MATCH(e1: person{name:'%s'}), (e2: person{name:'%s'}) CREATE(e1)-[r:%s{relation: '%s'}]->(e2) RETURN r" % (rela_array[0], rela_array[1], rela_array[2], rela_array[2])
- )

这是数据格式(编码一定要保存为utf-8):
效果图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。