Вы можете выполнять запросы Cypher с:
GraphDatabaseService db = ...;
// from version 2.2.x onwards
db.execute("your cypher statement");
// before version 2.2.x
ExecutionEngine engine = new ExecutionEngine(db)
engine.execute("your cypher statement");
Если вы используете Neo4j перед тем v2.2, обратите внимание, что ExecutionEngine
призван быть реализован как синглтон, так что планы выполнения будут правильно кэшированы.
Если у вас есть сильные ограничения производительности, возможно, вы захотите сыграть с TraversalDescription
и настройте множество доступных параметров и, если необходимо, определите обратный вызов обхода. Ключ должен обеспечить, чтобы вы проходили как можно меньше узлов.
Вы должны знать, что исполнение Cypher становится все более и более эффективным, последняя версия (2.2) приносит много улучшений.
Но это будет медленным, чем прямой код Java не так ли? –
Ну, здесь не сложно. 2.2 дает множество улучшений в отношении оптимизации Cypher. – Rolf
Отредактировал свой первоначальный ответ, чтобы предоставить вам альтернативу, также известную как TraversalDescription. – Rolf