2016-07-09 6 views
1

Ich habe ein Datenschema, wo Benutzer Produkte überprüfen können. "Benutzer" und "Produkt" sind Eckpunkte und "Bewertungen" ist eine MANY2MANY-Beziehung zwischen Benutzern und Produkten. "Bewertungen" hat Kanteneigenschaften wie Titel und Körper.Gremlin Abfrage zu Kante mit Eigenschaft kombinieren

Ich möchte eine Abfrage schreiben, um alle Bewertungen für ein Produkt zu erhalten, sowie die Benutzer, die die Überprüfung geschrieben haben. Ich kann die Bewertungen unter Verwendung der folgenden Informationen abrufen, aber ich weiß nicht, wie Sie alle Benutzereigenschaften hinzufügen können.

g. ({Product}). InE ("Bewertungen"). Values ​​()

Wie kann ich als auch Benutzerinformationen pro Bewertung erhalten?

l = g.V(pvid).       // start with a product vertex id 
     inE("reviews").as("r").   // label the review edges 
     outV().as("u").     // label the users 
     select("r", "u").by(valueMap()). // properties map 
     toList()       // iterate traversal into a list 

Dies wird eine Liste von Karten:

Antwort

3

Man könnte so etwas tun. Jede Karte hat zwei Tasten, r und u, die dem Schritt select("r", "u") entsprechen. Dann ist der Wert der r in der Karte die Eigenschaften für die Überprüfung. Ähnlich ist der Wert der u in der Karte die Eigenschaften für den Benutzer.

Verwandte Dokumentation