0
如何获取用户的新闻源?Neo4j,Cypher:获取新闻源(Graphiti)
撷取与ID用户新闻馈送= 4084079
MATCH (u:User)
WHERE ID(u)=4084079
OPTIONAL MATCH p=(u)-[r:Ego*..]->(friend:User)
WHERE all(r2 in relationships(p)
WHERE r2.user_id=4084079)
WITH friend MATCH (friend)-[:FeedNext*]->(feed)
RETURN labels(feed), feed, feed.timestamp
ORDER BY toInt(feed.timestamp) DESC
SKIP 1
LIMIT 10
此行尝试匹配其变成无穷大,且因此该查询挂起的最长路径。 WHERE
和OPTIONAL MATCH
子句分开执行。
OPTIONAL MATCH p=(u)-[r:Ego*..]->(friend:User)
如何避免r
被匹配所有user_id
?
以这种方式编写查询会返回语法错误。
OPTIONAL MATCH p=(u)-[r:Ego{user_id:4084079}*..]->(friend:User)