我正在使用neo4j-rest-graphdb,只是尝试使用Cypher来获取简单的Node结果.
CypherParser parser = new CypherParser();
ExecutionEngine engine = new ExecutionEngine(graphDbService);
Query query = parser.parse( "START referenceNode = node (0) " +
"MATCH referenceNode-[PRODUCTS_REFERENCE]->products-[PRODUCT]->product " +
"RETURN product.productName " +
"ORDER BY product.productId " +
"SKIP 20"
"LIMIT 10");
ExecutionResult result = engine.execute( query );
Iterator<Map<String, Object>> iterator = result.javaIterator();
Run Code Online (Sandbox Code Playgroud)
迭代结果的最佳做法是什么?最后一行导致我的服务挂起约6秒.在最后没有迭代器的情况下,应用程序很快就会安静.我也试过了webadmin cypher终端,结果是在50ms内获取的.难道我做错了什么?
在你的情况下,所有的密码操作(图形匹配,过滤等都将通过电线,这是非常健谈和慢),你不希望这样!
neo4j-rest-graphdb支持远程执行cypher开箱即用:
就是这样,在这个测试用例中显示的东西:
RestCypherQueryEngine queryEngine = new RestCypherQueryEngine(restGraphDatabase.getRestAPI());
final String queryString = "start n=node({reference}) return n";
Map params = MapUtil.map("reference",0);
final Node result = (Node) queryEngine.query(queryString, params).to(Node.class).single();
assertEquals(restGraphDatabase.getReferenceNode(), result);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1347 次 |
最近记录: |