2016-05-18 1 views
3

Attribut Fehler geben wir die folgende Konfiguration für Neo4j leiten:neomodel auf Speicher

neo4j - 3.0.0 
py2neo - 2.0.8 
neomodel - 2.0.2 

Schließlich habe ich der Code versuchen zu laufen:

class User(neomodel.StructuredNode): 
    user_id = neomodel.IntegerProperty(unique_index=True, required=True) 
    name = neomodel.StringProperty() 
    phone_number = neomodel.StringProperty() 

user = User(user_id=6, name='Sourabh Dev', phone_number='9711237840').save() 

Ich verstehe nicht, warum ich behalte diesen merkwürdigen Fehler. Mache ich hier etwas falsch oder soll ich py2neo anstelle von neomodel verwenden?

Mein Traceback ist:

Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
    File "/usr/local/lib/python3.4/site-packages/neomodel-2.0.2-py3.4.egg/neomodel/signals.py", line 25, in hooked 
    val = fn(self, *args, **kwargs) 
    File "/usr/local/lib/python3.4/site-packages/neomodel-2.0.2-py3.4.egg/neomodel/core.py", line 159, in save 
    self._id = self.create(self.__properties__)[0]._id 
    File "/usr/local/lib/python3.4/site-packages/neomodel-2.0.2-py3.4.egg/neomodel/core.py", line 289, in create 
    results = db.cypher_query(query, params) 
    File "/usr/local/lib/python3.4/site-packages/neomodel-2.0.2-py3.4.egg/neomodel/util.py", line 213, in cypher_query 
    results = self._execute_query(query, params) 
    File "/usr/local/lib/python3.4/site-packages/neomodel-2.0.2-py3.4.egg/neomodel/util.py", line 207, in _execute_query 
    results = self.session.cypher.execute(query, create_params=params) 
    File "/usr/local/lib/python3.4/site-packages/py2neo/cypher/core.py", line 136, in execute 
    results = tx.commit() 
    File "/usr/local/lib/python3.4/site-packages/py2neo/cypher/core.py", line 333, in commit 
    return self.post(self.__commit or self.__begin_commit) 
    File "/usr/local/lib/python3.4/site-packages/py2neo/cypher/core.py", line 288, in post 
    raise self.error_class.hydrate(error) 
    File "/usr/local/lib/python3.4/site-packages/py2neo/cypher/error/core.py", line 54, in hydrate 
    error_cls = getattr(error_module, title) 
AttributeError: 'module' object has no attribute 'TypeError' 
+0

eine mögliche Lösung für diese oder eine andere verwendete Bibliothek? Ich benutze ziemlich die gleiche Version von neo4j, py2neo und neomodel –

Antwort

4

Zwei Punkte hier:

  1. Bestehenden Neomodel nicht den Neo4j unterstützt 3.0

  2. Cypher Syntax hat in 3.0 geändert, so dass der Fehler erhebt.

In 2.x MATCH n RETURN n
in 3,0, MATCH (n) RETURN n

Knoten n wird in geschweiften Klammern eingeschlossen.

Verwandte Themen