0
我建立一個飼料,你有帖子,回覆等,我試圖獲得特定飼料(在時間範圍內)的受限制的數據集。Neo4j Cypher查詢結果序列化在Java
我在Java中調用這個查詢,因爲我想利用Java核心API進行某些任務,同時可以靈活地使用密碼進行更簡單的查詢。有沒有什麼辦法可以以JSON的形式得到這個直接返回到Web客戶端。
START f=node:feeds(name='MY-FEED')
MATCH (f)<-[:WRITTEN_TO]-(p)<-[:HAS_REPLIED_TO]-(r)<-[:HAS_PUBLISHED]-(ur)
WHERE p.datetime >= 201311261000 AND p.datetime <= 201311271000
WITH p,collect({m:r.msg,u:ID(ur),dt:r.datetime})[0..2] as prgroup
MATCH (pu)-[:HAS_PUBLISHED]->(p)<-[t:HAS_TAGGED]-(),
()-[l:HAS_LIKED]->(p)
WITH p,pu,prgroup,collect(t.name) as tags,count(l) as likes
return {
post:{
msg:p.msg,
id:ID(p),
u:ID(pu),
dt:p.datetime,
pin:p.pinned,
tags:tags,
likes:likes
},replies:prgroup
} as threads
order by p.pinned desc, p.updated desc
SKIP 0
limit 10
在Java(只產生錯誤格式的JSON):
ExecutionResult results = engine.execute(cql);
List<String> threads = new ArrayList<String>();
for (Map<String,Object> row : results) {
for (Object val : row.values()) {
threads.add(val.toString());
}
}
return "["+Joiner.on(",").join(threads)+"]";
任何幫助將不勝感激。
救了我的天! :D:D –