多 pattern 大概多久发布 ?
LOOKUP where不支持指定顶点id过滤,只能在go from里面添加:
GO FROM $-.vids OVER writes,relates WHERE $-.vids == 1391787869177122816
更关键的是查出来的数据都是一列的,一维的,不是多维嵌套的json结构。
和预期的结果不符合:
{
id: 24567434,
text: "今天天气不错",
author:{
id: 1434652,
name: "小明"
},
themes: [{
id: 5434652,
name: "日常生活"
}],
}
总的来说,总有这样那样的问题,终究是实现不了这个简单的需求
多 pattern 大概多久发布 ?
规划年中的下个版本,看复杂度可能延后一点
MATCH (u:user)-[:author]-(p:post)-[:theme]-(t:themes)
RETURN u, p, collect(distinct t)
确实。查出来是 json 结构只是显示的问题,基本上 neo4j 的 console 也是一样的。
与 Neo4j Browser
相似的可视化工具可以尝试一下 nebula-studio
. nebula-studio
MATCH (u:user)-[:author]-(p:post)-[:theme]-(t:themes)
RETURN u, p, collect(distinct t)
@yee 这个也不行。。。
1,这样会将所有的属性返回
2,只能局限于1-2条边的情况
MATCH (u:user)-[:author]-(p:post)-[:theme]-(t:themes)
RETURN u.name, p.text, collect(distinct t.name)
这个不行?
确实。查出来是 json 结构只是显示的问题,基本上 neo4j 的 console 也是一样的。
与 Neo4j Browser 相似的可视化工具可以尝试一下 nebula-studio. nebula-studio
关键是这种多维嵌套的结构在查询的时候如何表示?如何拼接?语句怎么写 ?
二维还好,如果是多维,三级嵌套这种,比如 文章(post) → 文章的主题(theme) → 主题的作者(user)。。这些如果也要查出来,基本就很难以实现。
类似这些需求在dgraph里面实现起来就非常的简单,而且查出来的就是符合业务所需的结构数据
MATCH (u:user)-[:author]-(p:post)-[:theme]-(t:themes) RETURN u.name, p.text, collect(distinct t.name)
这个不行?
前面说过了
1,这样会将所有的属性返回
2,只能局限于1-2条边的情况
3,一维结构的数据,难以实现多维嵌套的结构数据查询
确实。查出来是 json 结构只是显示的问题,基本上 neo4j 的 console 也是一样的。
与 Neo4j Browser 相似的可视化工具可以尝试一下 nebula-studio. nebula-studio关键是这种多维嵌套的结构在查询的时候如何表示?如何拼接?语句怎么写 ?
二维还好,如果是多维,三级嵌套这种,比如 文章(post) → 文章的主题(theme) → 主题的作者(user)。。这些如果也要查出来,基本就很难以实现。
类似这些需求在dgraph里面实现起来就非常的简单,而且查出来的就是符合业务所需的结构数据
我觉得是可以实现的:
MATCH (p:post)--(t:theme)--(u:user)
WITH p, t, collect(u) AS tusers
RETURN p, collect(t) AS themes, collect(tusers) AS pusers
符合业务所需的结构数据完全可以在业务端组装出来。
dgraph
支持自定义结构类型确实蛮方便的,nebula 现在还做不到。
如果是用结构类型的话,theme 和 user 将作为内部属性类型而非实体,那么比方说我要查询 某个 user 写过哪些 post
怎么实现呢?