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 –