python 实现查询Neo4j多节点的多层关系

 更新时间:2019年12月23日 10:58:39   作者:gmHappy  
今天小编就为大家分享一篇python 实现查询Neo4j多节点的多层关系,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

需求:查询出满足3人及3案有关系的集合

# -*- coding: utf-8 -*-
from py2neo import Graph
import psycopg2

# 二维数组查找
def find(target, array):
 for i, val in enumerate(array):
  for j, temp in enumerate(val):
   if temp == target:
    return True;  
 return False


graph = Graph(host="192.168.3.186://7474", auth=("neo4j", "wabjtam123"))
data = graph.run('match data=(p:anjian)-[:参与 *2..5]-(u:anjian) with p,collect( distinct u.AJBH) as ajbhs match (p:anjian)-[:参与 *1..5]-(c:xyr) with p,ajbhs, collect(distinct c.XYRBH) as xyrbh_list,(ajbhs+p.AJBH) as ajbh_list where size(xyrbh_list)>2 and size(ajbh_list)>2 return p.AJBH as ajbh,ajbh_list,xyrbh_list')

aj = []

xyr_result = []
aj_result = []

for node in data:
 ajbh = node.get('ajbh')
 ajbh_list = node.get('ajbh_list')
 xyrbh_list = node.get('xyrbh_list')
 
 ajbh_list.append(ajbh)
 
 ajbh_list = list(set(node.get('ajbh_list')))
 xyrbh_list = list(set(node.get('xyrbh_list')))
 
 flag = True
 if len(aj_result) > 0:
  for i, val in enumerate(ajbh_list): 
   f = find(val, aj_result) 
   
   if f:
    flag = False
    break;
 
 if flag:
  if len(ajbh_list) > 2 and len(xyrbh_list) > 2:
   aj.append(ajbh) 
   
   
   aj_result.append(ajbh_list) 
   xyr_result.append(xyrbh_list)
   
   
   print('MATCH p=(:anjian{AJBH:"'+ajbh+'"})-[*]-() RETURN p LIMIT 25')
   name = str(len(xyrbh_list)) + "人" + str(len(ajbh_list)) + "案" 
   print(name)

print(len(aj_result))
print(aj)
print('----------------------------')
print(aj_result)

conn = psycopg2.connect(database="zfgfh", user="postgres", password="postgres", host="192.168.3.202", port="5432")
cursor = conn.cursor()
 
for ajbh in aj_result:
 for temp in ajbh:
  insert_sql = "insert into test.gm (\"ajbh\") values ('%s')"
  insert_sql = insert_sql % temp
  print(insert_sql)
  # 插入
  cursor.execute(insert_sql)
# 提交
conn.commit() 
cursor.close() # 关闭Cursor
conn.close() # 关闭数据库


6人3案
4人5案
3人6案
11人3案
3人13案
6人46案
8人4案
5人4案
7人4案
28人17案
4人4案
3人8案
4人4案
8人3案
6人6案
5人4案
4人6案
19人77案
4人22案
4人14案
4人5案
9人5案
12人8案
4人3案
17人4案
5人7案
18人30案
7人11案
3人22案
20人12案
30
['A2301260500002019020002', 'A2301096000002018040010', 'A2301246400002018060001', 'A2301270500002018040003', 'A2301085100002018100001', 'A2301062020012018100099', 'A2301830517002018090003', 'A2301290501002019040001', 'A2301240500002018080001', 'A2301260200002018090006', 'A2301821414022018011647', 'A2301000514012018090001', 'A2301245100002018050014', 'A2301004908002018110004', 'A2301295500002018110005', 'A2301270300002018090005', 'A2301848900002018070017', 'A2301210504002018080011', 'A2301004902002018110002', 'A2301810500002018110038', 'A2301025103002018120002', 'A2301290500002019020003', 'A2301096000002018060043', 'A2301260200002018060002', 'A2301810500002018090002', 'A2301815100002018060014', 'A2301820506002018070006', 'A2301037200002018100154', 'A2301849000002018090001', 'A2301280200002018110002']
----------------------------
['A2301260500002019030006', 'A2301260500002019030007', 'A2301260500002019020002']
['A2301095200002018060039', 'A2301096000002018050002', 'A2301096000002018060009', 'A2301095200002018070016', 'A2301096000002018040010']
['A2301246400002018050003', 'A2301245200002018060007', 'A2301236400002018060005', 'A2301245200002018060003', 'A2301246400002018060002', 'A2301246400002018060001']
['A2301270500002018040003', 'A2301270500002018040004', 'A2301270500002018040005']
['A2301080506002018120002', 'A2301080506002018120001', 'A2301080506002018120011', 'A2301080506002018120004', 'A2301080506002018120010', 'A2301080506002018120013', 'A2301080506002018120005', 'A2301085100002018100001', 'A2301080506002018120012', 'A2301080506002018120007', 'A2301080506002018120006', 'A2301080506002018120003', 'A2301080506002018120009']
['A2301060504002018110006', 'A2301060504002018110005', 'A2301060504002018110028', 'A2301060504002018110026', 'A2301060504002018110036', 'A2301060504002018110035', 'A2301060504002018110030', 'A2301060504002018110003', 'A2301061723042018103961', 'A2301060504002018110024', 'A2301060504002018110004', 'A2301060504002018110025', 'A2301060504002018110044', 'A2301063010412018100861', 'A2301060504002018110022', 'A2301060504002018110031', 'A2301060504002018110038', 'A2301060504002018110007', 'A2301060504002018110032', 'A2301060504002018110009', 'A2301060504002018110039', 'A2301063011482018102790', 'A2301060504002018110029', 'A2301060504002018110021', 'A2301060504002018100001', 'A2301060504002018110015', 'A2301060504002018110043', 'A2301062020012018100099', 'A2301060504002018110011', 'A2301060504002018110040', 'A2301060504002018110023', 'A2301060504002018110027', 'A2301060504002018110037', 'A2301060504002018110014', 'A2301060504002018110033', 'A2301060504002018110002', 'A2301060504002018110041', 'A2301060504002018110008', 'A2301060504002018110001', 'A2301060504002018110010', 'A2301060504002018100002', 'A2301060504002018110019', 'A2301060504002018120004', 'A2301060504002018110018', 'A2301060504002018110020', 'A2301060504002018110034']
['A2301830517002018090003', 'A2301830517002018090005', 'A2301830517002018090006', 'A2301830517002018090004']
['A2301290501002019040001', 'A2301290501002019040002', 'A2301290501002019030002', 'A2301290501002019040004']
['A2301240500002018080001', 'A2301240500002018080004', 'A2301240500002018080003', 'A2301240500002018080002']
['A2301260200002018100006', 'A2301260200002018090002', 'A2301260200002018100013', 'A2301260200002018100008', 'A2301260200002018090006', 'A2301260200002018100003', 'A2301260200002018100001', 'A2301260200002018100010', 'A2301260200002018100005', 'A2301260200002018100012', 'A2301260200002018100002', 'A2301260200002018090004', 'A2301260200002018100011', 'A2301260200002018090003', 'A2301260200002018100014', 'A2301260200002018090005', 'A2301260200002018100007']
['A2323037100002018120006', 'A2301827600002018090005', 'A2301821414022018011647', 'A2301820209332018024067']
['A2301000514012018090001', 'A2301230500002018060001', 'A2301000514012018110004', 'A2301230300002018110005', 'A2301230500002018050005', 'A2301000514012019010001', 'A2301000514012018090002', 'A2301000514012018100001']
['A2301245100002018050014', 'A2301245100002018070018', 'A2301286100002018050005', 'A2301286100002018060002']
['A2303016200002018100001', 'A2301004908002018110004', 'A2301004908002018110006']
['A2301295500002018110008', 'A2301295500002018110006', 'A2301295500002018110003', 'A2301295500002018110007', 'A2301295500002018110005', 'A2301002104002018100007']
['A2301270300002018100004', 'A2301270300002018100002', 'A2301270300002018100001', 'A2301270300002018090005']
['A2301848900002018070017', 'A2301845700002018070027', 'A2301840502002018070002', 'A2301848800002018070024', 'A2301840502002018070003', 'A2301840502002018070001']
['A2301210504002018120003', 'A2301210504002018120019', 'A2301210504002018120013', 'A2301210504002018080007', 'A2301210504002018080021', 'A2301210504002018080015', 'A2301210504002018120017', 'A2301210504002018120045', 'A2301210504002018080014', 'A2301210504002018120049', 'A2301210504002018080019', 'A2301210504002018120028', 'A2301210504002018080004', 'A2301210504002018120029', 'A2301210504002018120051', 'A2301210504002018110005', 'A2301210504002018120023', 'A2301210504002018120043', 'A2301210504002018120044', 'A2301210504002018120041', 'A2301210504002018120014', 'A2301210504002018120032', 'A2301210504002018080003', 'A2301210504002018110006', 'A2301210504002018080009', 'A2301210504002018110004', 'A2301210504002018110003', 'A2301210504002018120038', 'A2301210504002018120039', 'A2301210504002018120015', 'A2301210504002018120011', 'A2301210504002018120036', 'A2301210504002018080010', 'A2301210504002018120048', 'A2301210504002018120025', 'A2301210504002018120006', 'A2301210504002018120012', 'A2301210504002018080013', 'A2301210504002018120022', 'A2301210504002018080017', 'A2301210504002018120008', 'A2301210504002018120046', 'A2301210504002018120052', 'A2301210504002018110007', 'A2301210504002018120024', 'A2301210504002018080022', 'A2301210504002018080005', 'A2301210504002018120050', 'A2301210504002018080002', 'A2301210504002018120009', 'A2301210504002018120031', 'A2301210504002018120033', 'A2301210504002018120042', 'A2301210504002018120035', 'A2301210504002018120040', 'A2301210504002018120026', 'A2301210504002018120005', 'A2301210504002018120030', 'A2301210504002018120027', 'A2301210504002018120018', 'A2301210504002018120010', 'A2301210504002018120016', 'A2301210504002018120002', 'A2301210504002018120001', 'A2301210504002018120034', 'A2301210504002018120007', 'A2301210504002018120037', 'A2301210504002018120004', 'A2301210504002018080008', 'A2301210504002018080011', 'A2301210504002018080018', 'A2301210504002018120021', 'A2301210504002018080020', 'A2301210504002018120047', 'A2301210504002018080006', 'A2301210504002018120020', 'A2301210504002018080016']
['A2301004906002019010005', 'A2301004902002018120001', 'A2301004902002018100006', 'A2301004908002018110002', 'A2301004902002018110002', 'A2301004906002019010003', 'A2301004904002019010003', 'A2301004908002019010002', 'A2301004902002018110003', 'A2301004908002019010004', 'A2301004908002018110001', 'A2301004905002019010008', 'A2301004904002018100004', 'A2301004908002019010005', 'A2301004904002019010004', 'A2301004909002019010001', 'A2301004905002019010007', 'A2301004908002019010003', 'A2301004904002019010002', 'A2301004908002018100002', 'A2301004902002018110001', 'A2301004906002019010004']
['A2301810500002018120044', 'A2301810500002018110039', 'A2301810500002018110041', 'A2301810500002018120034', 'A2301810500002018120055', 'A2301810500002018120052', 'A2301810500002018120053', 'A2301810500002018120032', 'A2301810500002018110038', 'A2301810500002018120054', 'A2301810500002018120035', 'A2301810500002018110040', 'A2301810500002018120033', 'A2301810500002018120056']
['A2301025103002019010002', 'A2301025103002018120002', 'A2301025103002018120004', 'A2301025103002018120005', 'A2301025103002019010001']
['A2301290500002019020004', 'A2301293014052013074923', 'A2301292809352016111088', 'A2301290500002019020003', 'A2301290500002019030001']
['A2301090506002018090006', 'A2301096000002018060044', 'A2301090506002018090002', 'A2301090506002018090004', 'A2301096000002018060045', 'A2301090506002018090005', 'A2301090506002018090003', 'A2301096000002018060043']
['A2301260200002018070019', 'A2301260200002018060002', 'A2301260200002018070001']
['A2301810500002018100008', 'A2301810500002018090002', 'A2301810500002018070015', 'A2301810500002018100006']
['A2301815100002018060014', 'A2301847300002018070003', 'A2301837900002018060010', 'A2301847300002018070002', 'A2301835600002018060007', 'A2301815500002018050010', 'A2301817900002018060001']
['A2301820502002018120006', 'A2301820502002019020003', 'A2301820502002018110004', 'A2301820502002018120003', 'A2301820502002018120014', 'A2301820502002018120001', 'A2301820502002018120002', 'A2301820502002018110005', 'A2301820502002018110007', 'A2301820502002018110010', 'A2301820502002018110002', 'A2301820506002018070006', 'A2301820502002018120004', 'A2301820502002018120009', 'A2301820502002018110012', 'A2301820502002018110014', 'A2301820502002018110013', 'A2301820502002018110011', 'A2301820502002019020002', 'A2301820502002018120005', 'A2301820502002018110006', 'A2301820502002019010001', 'A2301820502002018120013', 'A2301820502002019020001', 'A2301820502002018110009', 'A2301820502002018110008', 'A2301820502002018120011', 'A2301820502002018120010', 'A2301820502002018110001', 'A2301820502002018110003']
['A2301025600002018120006', 'A2301031714062013011545', 'A2301037200002018100154', 'A2301025700002018120027', 'A2301032513122013013630', 'A2301025700002018120050', 'A2301025600002018120051', 'A2301032816032012120005', 'A2301030916252013014087', 'A2301026600002018120008', 'A2301025600002018120044']
['A2323015500002018100003', 'A2301849000002018090018', 'A2323015700002018100005', 'A2301848700002018090013', 'A2323015500002018100004', 'A2301849000002018090001', 'A2301265300002018090007', 'A2301845700002018090004', 'A2301265500002018090005', 'A2301845700002018090019', 'A2323015700002018100004', 'A2301265300002018090006', 'A2323016100002018100003', 'A2301849000002018090008', 'A2301265300002018090011', 'A2301265300002018090005', 'A2301849000002018090019', 'A2301265500002018090006', 'A2301265300002018090010', 'A2301265300002018090009', 'A2301265300002018090008', 'A2301848700002018090006']
['A2301280200002018110003', 'A2301280200002018110011', 'A2301280200002018110013', 'A2301280200002018110005', 'A2301280200002018110010', 'A2301280200002018110007', 'A2301280200002018110012', 'A2301280200002018110002', 'A2301280200002018110008', 'A2301280200002018110009', 'A2301280200002018110014', 'A2301280200002018110006']

以上这篇python 实现查询Neo4j多节点的多层关系就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用Python实现Excel的文件间的数据匹配功能

    利用Python实现Excel的文件间的数据匹配功能

    这篇文章主要介绍了利用Python实现Excel的文件间的数据匹配,本文通过一个函数实现此功能,通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 结合Python网络爬虫做一个今日新闻小程序

    结合Python网络爬虫做一个今日新闻小程序

    本篇文章介绍了我在开发过程中遇到的一个问题,以及解决该问题的过程及思路,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • pandas:get_dummies()与pd.factorize()的用法及区别说明

    pandas:get_dummies()与pd.factorize()的用法及区别说明

    这篇文章主要介绍了pandas:get_dummies()与pd.factorize()的用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python graphlib库轻松创建操作分析图形对象

    Python graphlib库轻松创建操作分析图形对象

    Python中的graphlib库是一个功能强大且易于使用的工具,graphlib提供了许多功能,可以帮助您创建、操作和分析图形对象,本文将介绍graphlib库的主要用法,并提供一些示例代码和输出来帮助您入门
    2024-01-01
  • 基于Pytorch实现逻辑回归

    基于Pytorch实现逻辑回归

    这篇文章主要为大家详细介绍了基于Pytorch实现逻辑回归,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    Python中的左斜杠、右斜杠(正斜杠和反斜杠)

    这篇文章主要介绍了Python中的左斜杠、右斜杠(正斜杠和反斜杠)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • Python学习笔记之变量与转义符

    Python学习笔记之变量与转义符

    这篇文章主要介绍了Python学习笔记之变量与转义符,本文从零开始学习Python,知识点很细,有共同目标的小伙伴可以一起来学习
    2023-03-03
  • Python字符与ASCII码相互转换方法

    Python字符与ASCII码相互转换方法

    在做python编程时,碰到了需要将字母转换成ascii码的需求,所以下面这篇文章主要给大家介绍了关于Python字符与ASCII码相互转换的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • Python实现在数字中添加千位分隔符的方法小结

    Python实现在数字中添加千位分隔符的方法小结

    在数据处理和数据可视化中,经常需要对大数值进行格式化,其中一种常见的需求是在数字中添加千位分隔符,本文为大家整理了三种常见方法,希望对大家有所帮助
    2024-01-01
  • Python实现一个数组除以一个数的例子

    Python实现一个数组除以一个数的例子

    今天小编就为大家分享一篇Python实现一个数组除以一个数的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论