私は人や会社をノードとしてneo4jを使用し、これらの間のfriend_of/works_at関係を使用しています。用途でリンクされた第 2 度の接続を導入する方法を知りたいです。アイデアは、あなたが応募したい会社であなたの二度の接続を取得することです. これらの 2 度の接続がある場合、1 度の接続の中で誰がこれらの 2 度の接続をあなたに紹介できるかを知りたいと思います。
このために、私はこのクエリを試しています:
START from = node:Nodes(startNode), company = node:Nodes(endNode)
MATCH from-[:FRIEND_OF]->f-[:FRIEND_OF]-fof-[:WORKS_AT]->company
WHERE not(fof = from) and not (from-[:FRIEND_OF]->fof)
RETURN distinct f.name, fof.name, company.name
ただし、全体として返されるすべてのパラメーターに個別が適用されるため、これはフレンド名 (fof.name) の重複したフレンドを返します。会社 C で働く Z に接続している友人 X と Y がいるようなものかもしれません。このようにして、XZC と YZC の両方を取得します。しかし、XZC または YZC のいずれかを取得するか、Z に接続するすべての友人のリスト/コレクション/集合体を取得するように、Z に個別を適用したいと考えています。これは ["X","Y"..] のようになります。 Z クエリをどのように変更すればよいですか?