Knoten nach Beziehungsanzahl sortieren - ThisShouldNotHappenError

7

In einer Neo4j-Datenbank mit ein paar Knoten und Beziehungen versuche ich herauszufinden, welche "beliebtesten" Benutzer (in diesem Fall die Knoten, die an den meisten Beziehungen beteiligt sind):

%Vor%

Diese Abfrage (Neo4j 1.9.2) führt jedoch zu folgendem Fehler:

  

ThisShouldNotHappenError

     

Entwickler: Andres behauptet, dass Aggregationen nicht wie verwendet werden sollten   das.

     

StackTrace:   org.neo4j.cypher.internal.commands.expressions.AggregationExpression.apply (AggregationExpression.scala: 31)   org.neo4j.cypher.internal.commands.expressions.AggregationExpression.apply (AggregationExpression.scala: 29)   org.neo4j.cypher.internal.pipes.ExtractPipe $$ anonfun $ internalCreateResults $ 1 $$ anonfun $ anwenden $ 1.apply (ExtractPipe.scala: 47)   org.neo4j.cypher.internal.pipes.ExtractPipe $$ anonfun $ internalCreateResults $ 1 $$ anonfun $ anwenden $ 1.apply (ExtractPipe.scala: 45)   scala.collection.immutable.Map $ Map1.foreach (Map.scala: 109)   org.neo4j.cypher.internal.pipes.ExtractPipe $$ anonfun $ internalCreateResults $ 1.Anwendung (ExtractPipe.scala: 45)   org.neo4j.cypher.internal.pipes.ExtractPipe $$ anonfun $ internalCreateResults $ 1.Anwendung (ExtractPipe.scala: 44)   scala.collection.Iterator $$ anon $ 11.next (Iterator.scala: 328)   org.neo4j.cypher.internal.pipes.TopPipe.internalCreateResults (TopPipe.scala: 45)   org.neo4j.cypher.internal.pipes.PipeWithSource.createErgebnisse (Pipe.scala: 69)   org.neo4j.cypher.internal.pipes.PipeWithSource.createErgebnisse (Pipe.scala: 66)   org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl.org $ neo4j $ cypher $ internal $ executionsplan $ ExecutionPlanImpl $$ prepareStateAndResult (ExecutionPlanImpl.scala: 164)   org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl $$ anonfun $ getLazyReadonlyQuery $ 1.Anwendung (ExecutionPlanImpl.scala: 139)   org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl $$ anonfun $ getLazyReadonlyQuery $ 1.Anwendung (ExecutionPlanImpl.scala: 138)   org.neo4j.cypher.internal.executionplan.ExecutionPlanImpl.execute (ExecutionPlanImpl.scala: 38)   org.neo4j.cypher.ExecutionEngine.execute (ExecutionEngine.scala: 72)   org.neo4j.cypher.ExecutionEngine.execute (ExecutionEngine.scala: 76)   org.neo4j.cypher.javacompat.ExecutionEngine.execute (ExecutionEngine.java:79)   org.neo4j.server.rest.web.CypherService.cypher (CypherService.java:94)   java.lang.reflect.Method.invoke (Methode.java:611)   org.neo4j.server.rest.security.SecurityFilter.doFilter (SecurityFilter.java:112)

Irgendwelche Ideen, wie ich das anders ausdrücken kann?

    
Matthias 20.08.2013, 08:04
quelle

2 Antworten

15

In Bezug auf neo4j manualual, wenn Sie eine Aggregation in Ihrer "Order by" verwenden müssen, müssen Sie die Aggregation in Ihre "Return" einfügen, so dass Sie nur die Anzahl (r) in Ihrer "Return" hinzufügen müssen wie unten gezeigt,

%Vor%     
Lisa Li 20.08.2013, 12:41
quelle
4

Führen Sie hier ein WITH ein:

%Vor%     
Stefan Armbruster 20.08.2013 11:41
quelle

Tags und Links