请帮我解决这个问题。我正在关注此链接上的教程:https://www.kernix.com/blog/an-efficient-recommender-system-based-on-graph-database_p9。我无法修改以下内容,以便它可以符合py2neo v3的新格式,其中使用了graph.run而不是graph.cypher.begin()。下面代码的目的是创建相对于Users的节点,每个节点由其user_id和“MERGE”请求标识:如果新节点不存在则创建新节点
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()
非常感谢您提前
答案 0 :(得分:0)
使用py3neo的v3,您的代码段将如下所示:
var allRecords = function(skip, limit) {
return User.find({})
.limit(limit)
.skip(skip)
.exec()
.then(records => {
console.log('executed');
// if records found
return {
data: records,
status: constant.READ_SUCCESS,
};
})
.catch(err => Promise.reject(constant.READ_ERROR));
};
begin()
是Graph类的一个方法,它将创建一个新事务。
Transaction.run
会将Cypher语句发送到服务器执行 - 但在调用Transaction.commit
之前不会提交事务。