I just test py2neo demo,but failed,code is :
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)
output is : (:Person {name: 'Alice'})
traceback is :
TypeError Traceback (most recent call last) ~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/http.py in fix_parameters(parameters) 70 try: ---> 71 dehydrated, = dehydrator.dehydrate([parameters]) 72 except TypeError as error:
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/json.py in dehydrate(self, values) 121 --> 122 return tuple(map(dehydrate_, values))
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/json.py in dehydrate_(obj) 117 elif isinstance(obj, dict): --> 118 return {key: dehydrate_(value) for key, value in obj.items()} 119 else:
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/json.py in (.0) 117 elif isinstance(obj, dict): --> 118 return {key: dehydrate_(value) for key, value in obj.items()} 119 else:
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/json.py in dehydrate_(obj) 119 else: --> 120 raise TypeError(obj) 121
TypeError:
During handling of the above exception, another exception occurred:
TypeError Traceback (most recent call last) in () 10 11 print(a) ---> 12 g.create(a)
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/database.py in create(self, subgraph) 343 """ 344 with self.begin() as tx: --> 345 tx.create(subgraph) 346 347 def delete(self, subgraph):
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/database.py in create(self, subgraph) 919 raise TypeError("No method defined to create object %r" % subgraph) 920 else: --> 921 create(self) 922 923 def delete(self, subgraph):
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/data.py in db_create(self, tx) 612 613 def db_create(self, tx): --> 614 create_subgraph(tx, self) 615 616 def db_delete(self, tx):
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/operations.py in create_subgraph(tx, subgraph) 133 for labels, nodes in _node_create_dict(n for n in subgraph.nodes if n.graph is None).items(): 134 identities = _create_nodes(tx, labels, map(dict, nodes)) --> 135 for i, identity in enumerate(identities): 136 node = nodes[i] 137 node.graph = graph
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/operations.py in _create_nodes(tx, labels, data) 84 label_string = "".join(":" + cypher_escape(label) for label in sorted(labels)) 85 cypher = "UNWIND $x AS data CREATE (_%s) SET _ = data RETURN id(_)" % label_string ---> 86 for record in tx.run(cypher, x=data): 87 yield record[0] 88
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/database.py in run(self, cypher, parameters, **kwparameters) 838 try: 839 if self.transaction: --> 840 result = self.transaction.run(cypher, parameters, **kwparameters) 841 else: 842 result = self.session.run(cypher, parameters, **kwparameters)
~/miniconda2/envs/py35/lib/python3.5/site-packages/neo4j/v1/api.py in run(self, statement, parameters, **kwparameters) 603 if self.closed(): 604 raise TransactionError("Transaction closed") --> 605 return self.session.run(statement, parameters, **kwparameters) 606 607 def sync(self):
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/http.py in run(self, statement, parameters, **kwparameters) 288 self._statements.append(OrderedDict([ 289 ("statement", ustr(statement)), --> 290 ("parameters", fix_parameters(dict(parameters or {}, **kwparameters))), 291 ("resultDataContents", ["REST"]), 292 ("includeStats", True),
~/miniconda2/envs/py35/lib/python3.5/site-packages/py2neo/internal/http.py in fix_parameters(parameters) 72 except TypeError as error: 73 value = error.args[0] ---> 74 raise TypeError("Parameters of type {} are not supported".format(type(value).name)) 75 else: 76 return dehydrated
TypeError: Parameters of type map are not supported
the output is not correspond with the demo:'(alice:Person {name:"Alice"})'