我有一个用户类定义如下
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
我分别创建了 user_id 1 和 2 user1
。user2
然后我使用
user1.followings(rel_length: 2)
. 但结果本身就出来了,user1
因为两者user1
都user2
在互相追随。
我已经尝试过order(:breadth_first)
和其他方法来排除已经访问过的节点。我可能没有做足够的研究,但有人知道怎么做吗?