go语句如何过滤途径点

各位大佬们 nGQL怎么才能实现过滤路径中的点,
比如 人A->公司->公司<-公司<-人C 这样可以通过go语句实现 但是人A->公司<-人B->公司<-公司<-人C这种情况就要排除 还是只能通过管道符去筛查出来

我们这边通过go查询出同名的人 但是人与人之前只能通过公司连接 需要去除中间有人这一层关系

还是只能通过go先查找点 在通过程序查找路径在过滤这种形式 能用一条nGQL解决吗

比较优雅的写法是:
match (v1:person)–>(v2:company)–>(v3:company)<–(v4:company)<–(v5:person) where id(v1) == A and id(v2) == C

但是我们这种属于变长 不确定
看了一下 match go查询语句 大部分只能通过边来筛选 或者指定开始点结束点
没办法只能途径点的类型或者属性进行筛选

我这边只能是先找到点 在通过FIND PATH获取途径点 通过程序判断
大佬您这边能看一下 咋样才能优化一下这步骤

你最好把你的过滤规则描述下?是中间只能通过公司节点?还是怎样的

我们图数据库里面只有2种类型的点 人和公司
现在需要通过go语句查找人同名的人 合并点
后来发现这样合并有问题 需要将途径点中是人类型的点的路径给排除掉
即只需要人-公司-公司-公司-人 这种路径
发现go match都不能实现添加where语句过滤途径点这种需求
麻烦大佬看一下 是否能实现这种需求 还是只能通过手动程序来实现过滤

match (v1:person)–[e1:person_company*0..1]-(v2:company)-[e2:company_company*]-(v3:company) -[e2:company_person*0..1]-(v4:person) where id(v1) == A and id(v4) == C

person_company为人和公司之间的边类型;
company_company为公司和公司之间的边类型;

大佬 我们这边人和公司的边类型是共用的 没做区分 :sob: :sob:
我这边还是程序筛选吧 麻烦大佬了

这个从建模的角度不是太合理。建议区分开来

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