2017-02-17 3 views
0

In meinem SDN-4-Projekt erhält Ich habe eine folgende Cypher Abfrage (ein Teil der Abfrage):Spring Data Neo4j Cypher Entitätstyp oder Klassennamen

(entity)<-[:COMMENTED_ON]-(comg:CommentGroup) 

zum Beispiel kann ich id von Unternehmen mit einem folgenden Cypher erhalten Funktion id(entity)

Wie erhalten Sie Entitätsname oder Klassenname?

Antwort

2

Verwenden Sie die labels Funktion

match (entity)<-[:COMMENTED_ON]-(comg:CommentGroup) return id(entity), labels(entity)

Für jede Zeile zurückgegeben, werden Sie die Neo4j-ID und Anordnung von Etiketten erhalten.

Angenommen, Ihre NodeEntity-Klassenbezeichnungen entsprechen mindestens einer dieser Bezeichnungen, können Sie die entsprechende Klasseninstanz dann selbst durchlaufen und laden.

Im Allgemeinen sollten Sie dies jedoch nicht tun müssen.

Wenn (Entität) polymorph ist, hydratisiert SDN/OGM die richtigen Objekte für Sie. Es tut ziemlich viel unter der Haube, was ich oben beschrieben habe, aber es behandelt auch Anpassung auf Schnittstellen, Unterklassen usw.

+0

Danke, Etiketten funktioniert! SDN/OGM Magie funktioniert nicht im Moment der Projektion für @QueryResult Objekte mit Session.query .. deshalb muss ich dies immer noch manuell tun – alexanoid