2017-09-06 4 views
0

Veuillez m'aider à résoudre ce problème. Je suis le tutoriel sur ce lien: https://www.kernix.com/blog/an-efficient-recommender-system-based-on-graph-database_p9. Je suis incapable de modifier ce qui suit afin qu'il puisse se conformer au nouveau format de py2neo v3 où graph.run est utilisé à la place de graph.cypher.begin(). Le but du code ci-dessous est de créer les nœuds par rapport aux utilisateurs, chacun étant identifié par son user_id et « Merge » demande: crée un nouveau nœud si elle n'existe pas déjàComment créer plusieurs nœuds via une boucle dans py2neo pour neo4j

tx = graph.cypher.begin() 
statement = "MERGE (a:`User`{user_id:{A}}) RETURN a" 
for u in user['id']: 
    tx.append(statement, {"A": u}) 
tx.commit() 

Merci beaucoup à avancer

Répondre

0

v3 de py2neo votre extrait ressemblera à ceci:

tx = graph.begin() 
statement = "MERGE (a:`User`{user_id:{A}}) RETURN a" 
for u in user['id']: 
    tx.run(statement, {"A": u}) 
tx.commit() 

begin() est une méthode sur la classe graphique, qui va créer une nouvelle transaction. Transaction.run envoie une instruction Cypher au serveur pour exécution - mais ne valide pas la transaction tant que Transaction.commit n'est pas appelée.

+0

Merci beaucoup Lyon. C'est vraiment la réponse à ma question !!! – HuongLeY