我只是测试py2neo演示,但失败了,代码是:
from py2neo.data import Node, Relationship
import py2neo
g = py2neo.Graph('http:/172.18.0.52:7474', user='neo4j',password='123')
a = Node("Person", name="Alice")
b = Node("Person", name="Bob")
ab = Relationship(a, "KNOWS", b)
print(a)
g.create(a)
输出为:(:Person {name: 'Alice'})
追溯是:
TypeError跟踪(最近的呼叫 持续) 〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / http.py 在fix_parameters(parameters)中 70尝试: ---> 71脱水,= dehydrator.dehydrate([parameters]) 72,除了TypeError作为错误:
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / json.py 脱水(自我,价值观) 121 -> 122返回元组(map(dehydrate_,values))
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / json.py 在dehydrate_(obj)中 117 Elif isinstance(obj,dict): -> 118返回{key:key的dehydrate_(value),obj.items()中的值} 119其他:
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / json.py 在(.0)中 117 Elif isinstance(obj,dict): -> 118返回{key:key的dehydrate_(value),obj.items()中的值} 119其他:
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / json.py 在dehydrate_(obj)中 119其他: -> 120引发TypeError(obj) 121
TypeError:
在处理上述异常期间,发生了另一个异常:
TypeError跟踪(最近的呼叫 最后)在() 10 11列(a) ---> 12 g.create(a)
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / database.py 在create(自己,子图)中 343“”“ 344 with self.begin()作为tx: -> 345 tx.create(子图) 346 347 def delete(self,subgraph):
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / database.py 在create(自己,子图)中 919引发TypeError(“未定义创建对象%r的方法”%子图) 920其他: -> 921创建(自己) 922 923 def delete(self,subgraph):
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / data.py在 db_create (自己,TX) 612 613 def db_create (self,tx): -> 614 create_subgraph(tx,self) 615 616 def db_delete (自身,TX):
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / operations.py 在create_subgraph(tx,subgraph)中 标签为133,_node_create_dict中的节点(如果n.graph为None,则subgraph.nodes中为n的n).items(): 134个身份= _create_nodes(tx,标签,map(dict,节点)) -> 135 for i,枚举(identities)中的身份: 136个节点=个节点[i] 137 node.graph = graph
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / operations.py 在_create_nodes中(tx,标签,数据) 84 label_string =“” .join(“:” + cypher_escape(label)用于sorted(labels)中的标签) 85 cypher =“ UNWIND $ x AS数据创建(_%s)SET _ =数据返回ID(_)”%label_string --->在tx.run(cypher,x = data)中记录的86: 87条创纪录[0] 88
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / database.py 运行中(自身,密码,参数,** kw参数) 838尝试: 第839章真相 -> 840结果= self.transaction.run(密码,参数,** kwparameters) 841其他: 842 result = self.session.run(密码,参数,** kwparameters)
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / neo4j / v1 / api.py在 运行(自我,陈述,参数,** kwparameters) 603如果self.closed(): 604提高TransactionError(“交易已关闭”) -> 605返回self.session.run(语句,参数,** kwparameters) 606 607 def同步(自己):
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / http.py 运行中(自身,语句,参数,** kwparameters) 第288章 289(“ statement”,ustr(statement)), -> 290(“参数”,fix_parameters(dict(参数(或{},** kwparameters)))), 291(“ resultDataContents”,[“ REST”]), 292(“ includeStats”,True),
〜/ miniconda2 / envs / py35 / lib / python3.5 / site-packages / py2neo / internal / http.py 在fix_parameters(parameters)中 72,除了TypeError作为错误: 73值= error.args [0] ---> 74引发TypeError(“不支持{}类型的参数”。format(类型(值)。名称)) 75其他: 76脱水脱水
TypeError:不支持映射类型的参数
输出与演示不符:'(alice:Person {name:“ Alice”})'
答案 0 :(得分:1)
您可能安装了py2neo的最新版本(4.0.0)。有人遇到了与您相同的问题,您可以遵循py2neo issue 678的解决方案。
另一种解决方案是您可以安装以前的版本,例如pip install py2neo==3.1.2
,它对我有用。