python使用neo4j(4.2版本py2neo)

1.链接数据库
在Pycharm的File->setting->Project Interpreter中添加py2neo并导入架包

graph = Graph('http://localhost:7474', username='neo4j', password='密码')

2.数据读取

result=graph.run("MATCH (n) RETURN n").data()#读取neo4j数据库中的所有数据
record=result[0] #读取表中的第一个数据
record.get('n').get('name') #假设数据库中有一个属性(或者说是列名字)是name

result2=graph.run(‘MATCH ()-[r]->() RETURN r’).data()#读取边
record2=result2[0]#读取第一个边(关系)
record2.get(‘r’).start_node.get(‘name’)#读取边的起始节点的名字
record2.get(‘r’).end_node.get(‘name’)#读取边的目的节点的名字

3.数据转换为json

  def buildNodes(nodeRecord):#读取节点
        data = {"id": str(nodeRecord.get('n').get('id')), "name": str(nodeRecord.get('n').get('name')),"label": str(nodeRecord.get('n').get('label'))}
        return {"data": data}

def buildEdges(relationRecord):#读取边
    data = {"source": str(relationRecord.get('r').start_node.get('id')),
            "target": str(relationRecord.get('r').end_node.get('id')),
            "relationship": str('use')}
    return {"data": data}
    
   def get_graph():#输出json
nodes = list(map(buildNodes, graph.run('MATCH (n) RETURN n').data()))
edges = list(map(buildEdges, graph.run('MATCH ()-[r]->() RETURN r').data()))
return jsonify(elements={"nodes": nodes, "edges": edges})

你可能感兴趣的:(python,数据库)