ユーザーはWebサイトにログインし、さまざまなイベントを作成します。このイベントはノードとしてneo4jデータベースに保存され、ユーザーとイベントノードの間で "EVENT_CREATOR"のrealtionshipを作成します。neo4j Java初心者。 Cypher実行エンジン
私のWebサイト上で(Play2フレームワークを使用して)すべてのユーザーのイベントのページングを実装しようとしています。たとえば、ユーザーが最初のページにアクセスする場合は最初の10個のイベントを読み込みます。 2ページ目は10th- 20日のイベントをロードする、というように...
この
は私のクエリです:私は、ユーザーが作成したすべてのイベントを取得しています現時点ではmatch(n);
...
skip k;
limit 10;
return n;
とに追加します配列リスト。
private static List<PublicEvent> getEvents(int page, int pageSize) {
List<PublicEvent> events = new ArrayList<PublicEvent>();
GraphDatabaseService db = Neo4JHelper.getDatabase();
try (Transaction tx = db.beginTx()) {
Index<Node> userIndex = db.index().forNodes(ModelIndex.Users);
IndexHits<Node> userNodes = userIndex.get(ModelGraphProperty.UserProfile.UserName, SessionUtilities.getCurrentUser());
Node me = userNodes.next(); //current logged in user
PagingIterator paginator = new PagingIterator(me.getRelationships(GraphRelation.RelTypes.EVENT_CREATOR).iterator(), pageSize); // get all the events that were created by this user
paginator.page(page);
// adding all the created events by this user to an array
if (paginator.hasNext()) {
Relationship eventCreator = (Relationship)paginator.next();
Node event = eventCreator.getOtherNode(me);
events.add(new PublicEvent(event));
}
tx.success();
}
db.shutdown();
return events;
}
私はサイファークエリを実行するためのコードを更新したいと私はそれが二番目のパラメータを期待している
GraphDatabaseService db = Neo4JHelper.getDatabase();
ExecutionEngine execEngine = new ExecutionEngine(db); //HERE I GET AN ERROR
ExecutionResult execResult = execEngine.execute("MATCH (n) RETURN n");
String results = execResult.dumpToString();
System.out.println(results);
(例https://www.tutorialspoint.com/neo4j/neo4j_cypher_api_example.htmを使用して)次のコード行を追加します。ロガーを。エラーは何ですか?または何か間違っていますか?