にneo4j.rbでn番目レベルの友人を探し、私はそれぞれuser1
とuser2
USER_ID 1及び2を作成した双方向関係グラフ
class User
include Neo4j::ActiveNode
include Neo4j::Timestamps
property :user_id, type: Integer, constraint: :unique
property :max_friends_count, type: Integer, default: 5
validates :user_id, :presence => true
has_many :out, :followings, model_class: :GraphUser, rel_class: :GraphRel, unique: true
has_many :in, :followers, model_class: :GraphUser, rel_class: :GraphRel, unique: true
end
以下のように定義されたユーザークラスを有しています。
次に、 user1.followings(rel_length: 2)
を使用して以下の検索を行います。しかしuser1
として結果が出てくるのは、user1
とuser2
の両方がお互いに続いているからです。
私はorder(:breadth_first)
と他の方法を試して、すでに訪れたノードを除外しました。私は十分な研究をしていないかもしれませんが、誰にどのようにこれを行うか考えているのですか?