У меня есть класс пользователя, определенный, как показано нижеПоиск друзья п-го уровня в neo4j.rb в двунаправленных отношениях графа
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
и user2
с user_id 1 и 2 соответственно.
И затем я не ищу следующее: user1.followings(rel_length: 2)
. Но результат получается как user1
сам, потому что оба user1
и user2
следуют друг за другом.
Я пробовал order(:breadth_first)
и другие методы, чтобы исключить узлы, которые уже были посещены. Возможно, я не сделал достаточно исследований, но кто-нибудь может понять, как это сделать?