2017-05-12 8 views
0

dort Say sind 2 Modelle:Rails Neo4j alle Knoten finden einige Knoten im Zusammenhang

class A 
    include Neo4j::ActiveNode 
    property :name, type: String 
    has_many :in, :bs, type: :HAS_B 
end 

class B 
    include Neo4j::ActiveNode 
    property :name, type: String 
end 

Und folgenden Knoten und Beziehungen:

a1 <- b1 
a2 <- b1 
a3 <- b2 
a1 <- b2 

Jetzt möchte ich alle Knoten von label: A, die in Beziehung zueinander stehen zu einem spezifischen Knoten von label: B.

Wie kann ich das durch neo4jrb erreichen?

Vereinfacht Englisch, ich will „Alle Knoten mit A gekennzeichnet, die eine Beziehung haben b1 zum Knoten“ (und das kann auf mehrere Knoten erweitert werden, wie alle Knoten des Etiketts A die Beziehung haben mit Knoten b1 und b2)

Dies ist
+0

Warum würde jemand ohne Kommentar abwerten. Schlage eine Verbesserung vor, wenn es notwendig ist ... wenn es unklar oder so ist. – vish4071

Antwort

0

wie ich es tat:

A.as(:a).B.where(name: [b1]) 

Hier für mehr b's, nur Array aller b's erforderlich senden.

anzumerken, dass diese Abfrage alle a's gibt, die jeder von der b's in dem Array verbunden sind, die meine Anforderung in diesem Fall geeignet. Wenn Sie etwas wollen, das alle a's gibt, die mit alleb's verbunden sind, wird dies nicht funktionieren. Wenn jedoch jemand auf eine solche Frage stößt, poste sie in Kommentaren und ich werde sie hier in diesen Beitrag aufnehmen.

Verwandte Themen