0
사용자의 뉴스 피드를 가져 오기 위해 그래픽 시스템을 만들려고합니다.Neo4j, Cypher : Graphity System
사용자는 해당 사용자의 ID
을 저장하는 Ego
관계로 친구와 연결됩니다. 하지만 Neo4j는 노드가 삭제되면 노드의 ID를 재사용한다는 것을 알게되었습니다.
그래프 시스템을 만들고 Ego
관계를 추적하는 다른 방법이 있습니까? user id
을 저장하지 마십시오. relationship
대신 Ego
노드를 만들면 뉴스 피드를 순회하는 것이 쉬워집니다.
예를 들어이
MATCH (u:User), (f:User)
WHERE ID(u)=4084079 AND ID(f)=4105710
MATCH (x1)-[r1:Ego{user_id:ID(u)}]->(f)-[r2:Ego{user_id:ID(u)}]->(x2)
FOREACH (s IN CASE WHEN r1 IS NULL THEN [] ELSE [r1] END |
FOREACH (t IN CASE WHEN r2 IS NULL THEN [] ELSE [r2] END |
CREATE (x1)-[:Ego{user_id:ID(u)}]->(x2)
DELETE s, t
)
)
WITH u, f
MATCH (u)-[r:Follow]->(f)
DELETE r
흠, 당신의 요점이 있습니다. 그러나 속성을 ID로 사용하면 예기치 않은 방식으로 RAM 사용량이 증가 할 수 있다는 우려가 있습니다. 이것으로 인해 발생하지 않으면 사용자가 삭제되지 않으므로이 문제를 해결할 수 있습니다. 사실이 질문은 http://stackoverflow.com/questions/26344479/neo4j-server-consuming-ram-excessively/26345908?noredirect=1#comment41413719_26345908 http://stackoverflow.com/questions/에 대한 확장 26189351/neo4j-server-clear-the-cache-in-ram 이유는 아직 나에게 미해결입니다. –