我有一个图谱a->b->c->d 和e->f->g->c->j 他们的边类型是一致的 我想根据节点c 找到它所有的源头点a和e

如题

在Nebula Graph中,要根据节点c找到其所有的源头节点a和e,你可以通过使用逆向遍历和条件过滤来实现。这种需求一般通过图数据库的查询语言(如Cypher或Gremlin)来处理,而Nebula Graph使用的是类似于Cypher的查询语言。

假设你的图谱中的边类型都是一致的,且有两条路径分别是a->b->c->d和e->f->g->c->j,要找到节点c的所有源头节点a和e,可以考虑以下查询方法:

Cypher-Like 查询示例:

MATCH p = ()-[*]->(c:Vertex {name: 'c'})
WHERE NOT ()-[*]->(c) AND ()-[*]->(c)
RETURN DISTINCT startNode(last(last(nodes(p)))), startNode(first(last(nodes(p)))))

你的 a、b、c、d 是点类型还是具体的点?
如果是具体的点的话,你的点类型(即 Tag)有几种?

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。