Ich habe eine Klasse Benutzer definiert, wie untenSuche n-ter Ebene Freunde in neo4j.rb in bidirektionaler Beziehung Graph
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
Ich habe user1
und user2
mit User_id 1 bzw. 2 erstellt.
Und dann suche ich folgende der folgenden mit user1.followings(rel_length: 2)
. Aber das Ergebnis kommt als user1
selbst heraus, weil sowohl user1
als auch user2
aufeinander folgen.
Ich habe order(:breadth_first)
und andere Methoden versucht, die Knoten auszuschließen, die bereits besucht wurden. Ich habe vielleicht nicht genug Forschung gemacht, aber hat jemand eine Idee, wie man das macht?