2016-06-16 2 views
0

내가 자바 힙에 고정 표시기 컨테이너 나누기에제한 및 건너 뛰기 사이퍼 일치하는 쿼리

MATCH (u1:User)-[x:SCORE]->(p:Place)<-[y:SCORE]-(u2:User) 
WITH SUM(x.score * y.score) AS xyDotProduct, 
SQRT(REDUCE(xDot = 0.0, a IN COLLECT(x.score)) | xDot + a^2)) AS xLength, 
SQRT(REDUCE(yDot = 0.0, b IN COLLECT(y.score) | yDot + b^2)) AS yLength, 
u1, u2 
MERGE (u1)-[s:SIMILARITY]-(u2) 
SET s.similarity = xyDotProduct/(xLength * yLength) 

점수에 따라 코사인 유사성을 사용하여 관계를 만들려고 해요 .. 내가 쿼리를 제한하려면 어떻게

1000 레코드에 대한 다음 1000 레코드를 다시 실행?

답변

3

당신은 예를 들어 대한 NOT 절과 첫 경기 후 제한을 추가 할 수 있습니다 :

MATCH (u1:User)-[x:SCORE]->(p:Place)<-[y:SCORE]-(u2:User) 
WHERE NOT (u1)-[:SIMILARITY]-(u2) 
WITH u1, x, p, y, u2 
LIMIT 1000 
WITH SUM(x.score * y.score) AS xyDotProduct, 
SQRT(REDUCE(xDot = 0.0, a IN COLLECT(x.score)) | xDot + a^2)) AS xLength, 
SQRT(REDUCE(yDot = 0.0, b IN COLLECT(y.score) | yDot + b^2)) AS yLength, 
u1, u2 
MERGE (u1)-[s:SIMILARITY]-(u2) 
SET s.similarity = xyDotProduct/(xLength * yLength)