2016-09-20 11 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

'Pumaが靴を販売している場合(weight .8)、重みが等しくないため、上記のクエリはNikeまたはReebokを返さない。 – Nikhil

+0

編集を参照してください。関係の違いは、特定のオブジェクトの重みの差の累積的な「スコア」です。 –