0

我在 neo4j eclipse 实现中遇到以下问题:

1. 限制函数出现错误

Code:
      String rows = "";        
    try ( Transaction ignored = graphDb.beginTx();
            Result result = graphDb.execute( "match(pr:Provider)-[t:TREATS]->(p:Problem) return pr.prdes as Name, t.pprcount as Visits, limit 5" ) )
      {
          while ( result.hasNext() )
          {
              Map<String,Object> row = result.next();
              for ( Entry<String,Object> column : row.entrySet() )
              {
                   rows += column.getKey() + ": " + column.getValue() + "; ";
              }
              rows += "\n";
          }
      }
    System.out.println(""+rows);

}

Output:
Exception in thread "main" org.neo4j.graphdb.QueryExecutionException: Invalid input '5': expected whitespace, comment, node labels, MapLiteral, a parameter, a relationship pattern, '(', '.', '[', "=~", IN, IS, '^', '*', '/', '%', '+', '-', '<', '>', "<=", ">=", '=', "<>", "!=", AND, XOR, OR, AS, ',', ORDER, SKIP, LIMIT, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, RETURN, UNION, ';' or end of input (line 1, column 97 (offset: 96)) "match(pr:Provider)-[t:TREATS]->(p:Problem) return pr.prdes as Name, t.pprcount as Visits, limit 5"                                
  1. 在没有限制子句的情况下执行上述查询也需要 50 分钟。那么如何提高性能速度呢?
4

1 回答 1

2

前面不能有逗号limits,试试

match(pr:Provider)-[t:TREATS]->(p:Problem) 
return pr.prdes as Name, t.pprcount as Visits limit 5

反而。

由于这是一个没有定义起点的全局查询,其执行时间当然取决于您的数据大小。

于 2015-07-06T17:16:34.707 回答