Py2neo Neo4j 批量提交错误
我有一个JSON文件,其中包含约140万个节点的数据,我想为此构建一个Neo4J图形数据库.我尝试使用PY2NEO的批处理提交功能.我的代码如下: # the variable words is a list containing node names from py2neo import neo4j batch = neo4j.WriteBatch(graph_db) nodedict = {} # I decided to use a dictionary because I would be creating relationships # by referring to the dictionary entries later for i in words: nodedict[i] = batch.create({"name":i}) results = batch.submit() 显示的错误如下: Traceback (most recent call
20 2024-03-29
编程技术问答社区
用Py2neo向Neo4j导入一个大的xml文件
我在导入36196662行的非常大的XML文件时有一个问题.我正在尝试使用 py2neo 我的XML文件看起来像这样: https://i.stack.imgur.com/mhz1z.jpg /p> 和我将XML数据导入neo4j的Python代码就是这样: from xml.dom import minidom from py2neo import Graph, Node, Relationship, authenticate from py2neo.packages.httpstream import http http.socket_timeout = 9999 import codecs authenticate("localhost:7474", "neo4j", "******") graph = Graph("http://localhost:7474/db/data/") xml_file = codecs.open("User_profilesL2T1.
34 2023-12-22
编程技术问答社区
使用py2neo从XML加载数据到neo4j
我试图使用py2neo 将数据从XML文件加载到neo4j db 此Python脚本工作正常,但是它太慢了,因为IM首先添加节点,然后与两个异常处理程序的关系.除此之外,XML文件大小约为200MB. 我想知道执行此任务的方法是否更快? XML文件: XA123 Adam John 01-12322222 XA7777 Anna Watson
30 2023-12-22
编程技术问答社区
当数据库更新时,WTForms中的选择验证并不更新
我了解WTFORMS中的SelectField方法可以参数choices具有形式... choices=[("value1", "display of value 1"), ("value2", "display of value 2")] 我需要根据对数据库的调用来填充我的选择.我正在使用neo4j作为后端,因此我不能使用Modelforms或其他内置解决方案以形式填充数据. def get_list_of_things(): query = 'start n = node:things("*:*") return ID(n), n.display_name;' t = cypher.execute(cdb, query)[0] for x in t: x[0] = str(x[0]) x[1] = str(x[1]) things = list(tuple(x) for x in t) retur
16 2023-12-15
编程技术问答社区
当导入py2neo时,python代码在python shell上工作正常,但在cmd上却不正常。
如标题中所述,我有问题的cmd中的代码,该代码在python shell中正常工作. 我有PY2NEO版本4. 这是我的代码: from py2neo import Graph print ("passed") 这是来自Python Shell的输出: passed >>> 这是CMD命令的输出: D:\py2neo>python py2neo.py Traceback (most recent call last): File "py2neo.py", line 1, in from py2neo import Graph File "D:\ALI\Desktop\ayten\mine-py2neo\py2neo.py", line 1, in from py2neo import Graph ImportError: cannot import name 'Graph' 我一直在
22 2023-12-06
编程技术问答社区
如何将neo4j的返回类型转换为python类型
我正在使用py2neo,我想从查询返回中提取信息,以便我可以在python中使用它.例如,我有一个包含三个"人"节点的DB: for num in graph.cypher.execute("MATCH (p:Person) RETURN count(*)"): print num 输出: >> count(*) 3 对不起,格式化的格式,它看起来与MySQL输出基本相同.但是,我想将数字3用于计算,但是它具有py2neo.cypher.core.Record类型.如何将其转换为Python int,以便可以使用它?从更一般的意义上讲,我应该如何处理Cypher查询,以便可以在Python中使用我的数据? 解决方案 graph.cypher.execute()返回包含多个Records的RecordList.每个Record对应于您的Cypher查询结果的一行. 您的RETURN count(*)查询仅返回一行,因此for num in ...
10 2023-10-30
编程技术问答社区
Py2Neo关于批量交易的问题-AttributeError: 'Node'对象没有属性' upper';
在询问先前的问题试图使用与PY2NEO的批处理交易来加快速度.我已经对代码进行了很多调整,但似乎无法构建和执行一批交易.匹配效果很好,这只是我遇到问题的底部交易 - 我认为我会包含整个代码,以防万一.我遇到的当前错误如下: AttributeError Traceback (most recent call last) in 108 a = nodes[x] 109 print(a) --> 110 tx.run(a) 111 rela = Relationship(s, "HOMOZYGOUS", a, HTA=h1, HTB=h2, GT=genotype, dp=read_depth, phas
12 2023-10-25
编程技术问答社区
Python py2neo SocketError: 连接被拒绝
我试图跟随我在连接到API时遇到了问题.这是我的追溯: >>> graph.delete_all() Traceback (most recent call last): File "", line 1, in File "/usr/local/lib/python2.7/site-packages/py2neo/core.py", line 748, in delete_all statement = StartOrMatch(self).relationship("r", "*").string + "DELETE r" File "/usr/local/lib/python2.7/site-packages/py2neo/cypher/util.py", line 45, in string if self.graph.supports_start_clause: File "/usr/local/lib/python2.7
64 2023-09-06
编程技术问答社区
py2neo 引发 finished(self) 错误
与PY2NEO一起工作,我在尝试附加交易时会遇到以下错误: statement ="MERGE (a:Person {name:\""+actorName+"\"}) "\ "\n"\ "MERGE (b:Series {title:\""+actorsFields[3]+"\", year:\""+actorsFields[5]+"\"}) "\ "\n"\ "CREATE UNIQUE (a)-[:ACTED_IN]->(b)"\ "RETURN a,b" print(statement) tx.append(statement) 追溯是: Traceback (most recent call last): File "/Volumes/PyCharm CE/PyCharm CE.app/Contents/helpers/pydev/pydev
18 2023-07-21
编程技术问答社区
load2neo批量加载没有结果 | curl POSTcomand
我正在尝试将大量数据插入我的 neo4j db.阅读了一些意见后,我决定使用 load2neo 这样做. 我已经在 geoff 格式中解析了我的数据. 在我的数据库属性文件中插入了行org.neo4j.server.database.location=/Users/Lucas/Documents/Neo4j/testdb.load2neo=/load2neo,并将两个.jar文件放在/Applications/Neo4j\ Community\ Edition.app/Contents/Resources/app/plugins 上 但是,当我尝试运行批量加载命令行时:curl -X POST http://localhost:7474/load2neo/load/geoff -d什么也不会发生. 我在我的Geoff文件所在的同一目录中运行它(该目录与服务器不同,是一个问题吗? 有人可以指出我在这里缺少什么吗?这看起来像是一个简单的错误,但我找不到在哪里.谢谢!
12 2023-07-11
编程技术问答社区
neo4j驱动函数等同于py2neo函数
def get_nlg(graph_query): driver = Graph("neo4j://localhost:7687", auth=("neo4j","password")) graph_response = graph.evaluate(graph_query) 对于上面的代码,我替换为以下驱动程序代码,但它不起作用,neo4j驱动程序中的功能等于 evaliate() py2neo中的功能? def get_nlg(graph_query): driver = GraphDatabase.driver("neo4j://localhost:7687", auth=("neo4j","password")) with driver.session() as session: graph_response = session.run(graph_query) r
20 2023-07-09
编程技术问答社区
py2neo的缓存是否在烧我?
我正在运行此代码: c = """ match(r:XX) optional match(r)-[]-(m) with count(m) as mc, r match(x) return count(x) as all, r, mc """ (snip!) while(True): tx = remote_graph.cypher.begin() res = remote_graph.cypher.execute(c) tx.rollback() time.sleep(15) (snip!) 我知道XX节点的属性每秒都在更改XX.但是,当我运行此操作时,我总是在res 中获得相同的值,但是对于r - all正在变化.查询没有改变.我想知道Py2neo是否注意到了这一点,而不是执行查询,而是要返回一个缓存的
44 2023-07-08
编程技术问答社区
寻找排除特定边的最短路径?
我正在使用py2neo,但这可能并不重要,因为这很可能需要通过编写cypher查询来完成. 本质上,我想在A subgraph 中找到最短的路径,其中该子图是整个图中的大多数,但删除的边缘的分数很小(一百万或更少). 例如,说我有节点a,b和c,而边缘(a-> b),(a-> c),(b-> c).当然,从A到C的最短路径是通过直接连接.但是,如果我想找到不使用该边缘的最短路径,那将是b c. 另外,这将是用户可以在多用户(Web)应用程序中指定的内容.因此,我无法真正更改数据库本身...如果不是问题,我可能可以在边缘创建一个属性"允许:true/false"并将其设置为false,但这会与应用程序行为混乱所有当前用户. 的一种变体是" dis disallowal:sessionId1,sessionId230,sessionId1010",即实际存储了哪些应用程序会话要排除边缘本身中的边缘,但这也不是理想的. . 当然,我实际上可以通过根据需要从neo4j
24 2023-07-06
编程技术问答社区
修改或改变py2neo中的关系属性
使用py2neo或cypher设置了关系属性,是否有一种方法可以更改关系属性?我正在创建一个库存跟踪器,一旦项目为" checked_out",该关系中的一个名为"状态"的属性将设置为" true".理想情况下,一旦将项目返回或签入,我想将"状态"属性更改为" false".这样,我可以跟踪项目并防止将其检查两次. 这是我为结帐交易创建关系的代码: def check_out(self, barcode): emp = self item = barcode id = str(uuid.uuid4()) timestamp = int(datetime.now().strftime("%s")) date = datetime.now().strftime("%F") status=True rel = Relationship(emp, "CHECKED_
12 2023-07-06
编程技术问答社区
Python网络x和持久性(也许在neo4j中)。
我想使用py2neo将一些数据插入Neo4j. 链接到数据文件. 我是Neo4j的新手.有人可以告诉我如何将批量数据插入Neo4j. 我已经尝试过,但这仅适用于小数据集... from pprint import pprint from py2neo import neo4j,node, rel graph_db = neo4j.GraphDatabaseService() def insert_data(): die_hard = graph_db.create( node(name="Bruce Willis"), node(name="John McClane"), node(name="Alan Rickman"), node(name="Hans Gruber"), node(name="Nakatomi Plaza"), rel(0, "PLAYS", 1),
38 2023-07-04
编程技术问答社区
如何从py2neo获得自动节点ID?
我使用的是py2neo 3.1.2版本的neo4j 3.2.0,我对此有疑问.在Neo4J的Web界面上,我可以运行以下查询以获取节点ID: MATCH (n:Person) RETURN ID(n) 我想知道PY2Neo API是否有同样的事情.我已经检查了Node对象,但是我找不到任何内容. 解决方案 更新:上一个答案不适用于new py2neo,但此答案有效 py2neo的当前版本(4.0.0b12)删除了remote方法.现在,您可以通过访问py2neo.data.Node.identity属性来获得NODE ID.这很简单.假设我使用py2neo询问我的neo4j数据库: ######################### # Standard Library Imports ######################### import getpass ######################### # Third party imp
110 2023-07-04
编程技术问答社区
使用py2neo从csv文件创建neo4j图形数据库
我目前正在研究博士课程,对PY2NEO很感兴趣,因此我正在使用它来使用社交图进行一些实验.但是我遇到了新手的麻烦.请问我问这些简单的问题. 我得到了一个XML数据集,其中包含有关Jornal出版物的数据,我将其转换为CSV表,大约有700个记录,每个记录由四个Fiels组成:日期,标题,关键字,作者.因此,我的第一个问题是如何从该表中创建图形.我考虑编写一个python脚本,该脚本循环CSV表,为每行读取和列字段,然后写入节点. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++码+++++ ++++ ++++++++++++++++++++++++++++++++++++++++++++++ #!/usr/bin/env python # import csv from py2neo import neo4j, cypher from py2neo import node, rel
40 2023-07-04
编程技术问答社区
Neo4j Python py2neo授权错误
在Windows 8.1上安装了NEO4J 2.2.3.没什么特别的. 通过NEO4J启动应用程序启动服务器.没什么特别的 如neo4j.org上的文档中,开始与py2neo合作. 遇到我无法解释的授权错误.日志如下. 一个特别言论:尽管有Python \脚本在路径中,Python Shell只会从C:\ Python34 \ Python开始. 请解释我做错了什么并可以改进. 日志: Microsoft Windows [Version 6.3.9600] (c) 2013 Microsoft Corporation. Alle rechten voorbehouden. C:\Users\Fred>c:\Python34\python Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32 Type "help", "copy
46 2023-07-03
编程技术问答社区
py2neo中的Cypher查询
我如何执行 shortestPath() shortestPath()> shortestPath()> 和在Cypher中,我会执行以下操作: START beginning=node(4), end=node(452) MATCH p = shortestPath(beginning-[*..500]-end) RETURN p 我已经尝试了我认为是等效的(下),但这不起作用(这些关系在Cypher中起作用,而Node_*对象确实是正确的节点 >>> rels = list(graph_db.match(start_node=node_4, end_node=node_452)) >>> rels [] 解决方案 我不想窃取Jjaderberg的评论,但这是您可以使用Py2Neo运行Cypher查询的方式.据我所知,未实现图形算法. query_string = "START beginning=node(4), end=node(452)
22 2023-07-03
编程技术问答社区
使用py2neo的WriteBatch操作失败了
我试图找到解决以下问题的解决方法.我已经在此如此问题 真的回答了. 以下代码失败,从新鲜图开始: from py2neo import neo4j def add_test_nodes(): # Add a test node manually alice = g.get_or_create_indexed_node("Users", "user_id", 12345, {"user_id":12345}) def do_batch(graph): # Begin batch write transaction batch = neo4j.WriteBatch(graph) # get some updated node properties to add new_node_data = {"user_id":12345, "name": "Alice"} # batch requests a = bat
48 2023-07-01
编程技术问答社区