1 连接neo4j数据库:跟其它数据库一样,操作前必须输入用户名和密码及地址连接一下。
from py2neo import Graph graph = Graph("http://localhost:7474", username="neo4j", password="123")
2 清空数据库:删除图数据库里的一切点和边。
graph.delete_all()
3 创建结点:label标记一簇结点,方便以后的结点查找操作,{}里是json字符串格式的属性对配置。
temp_node = Node(label, name=“张三”)
graph.create(temp_node)
4 创建边:必须先定位两个结点,才可以创建边,边不能脱离两个结点孤立存在;json关系边的配置属性,边的type类型是Owner,作用同结点的label。
class Owner(Relationship): pass def add_transfer(company, human): humanNode = graph.find_one("Human", "name", human) if humanNode==None: print human return companyNode = graph.find_one("Company", "name", company) if companyNode==None: print company return rel = Owner(humanNode,companyNode) rel['relation'] = "随便写" graph.create(rel)
思考:若两个结点具有相同的type类型,不同的属性,这样的两个结点是否可以存在多条方向一样的边呢?