neo4j

2016-09-20 5 views
-1
  • 나이키 판매에 유사한 가중 노드를 찾을 수 (무게 0.9) 신발
  • 나이키 판매 (무게 0.5) 의류
  • 리복 판매 (무게 0.9) 신발 ...

우리는 10k 브랜드와 약 100k 관계에 대해 이야기하고 있습니다.neo4j

Puma과 같은 브랜드가 주어지면 판매하는 제품에 따라 퓨마와 유사한 브랜드를 찾아야합니다.

일반적인 유사 검색에 대해 읽었지만 쿼리에 가중치를 포함 할 수있는 방법을 얻지 못했습니다.

답변

0
MATCH (b:Brand {name: 'Puma'}) 
WITH b 
MATCH x = (b) - [:SELLS] -> (:Item) <- [:SELLS] - (ob:Brand) 
RETURN b, ob, ABS(SUM(RELATIONSHIPS(x)[0]['weight'] - RELATIONSHIPS(x)[1]['weight'])) 

당신은 무게의 차이가 채점 방식을 변경할 수 있습니다,하지만 당신은 적어도 가중치가 비교 하시고 다른 브랜드에 대한 모든 경로를 수집 할 수있는 방법입니다.

+0

'푸마가 신발을 팔고 (무게 0.8) '위의 쿼리는 무게가 동일하지 않기 때문에 나이키 또는 리복을 반환하지 않습니다. – Nikhil

+0

수정 사항보기; 이제 관계의 차이는 특정 객체에 대한 가중치의 누적 "점수"입니다. –