规则匹配

现有规则如下:

已知信息:

  • 狗A
  • 主人B的地区:四川成都

现在我要通过这条规则,进行匹配相关的狗
A–>B(B 的地区为四川成都)–>其他 A–>[种类|年龄]–>其他 A–其他 B(B 的地区为四川成都)

其他 B(B 的地区为四川成都)–>其他 A–>[种类|年龄]–>其他 A–其他 B(B 的地区为四川成都)

通过这条规则匹配出所有的狗,并且狗的主人都是四川成都,而且都和已知的狗 A 是有关系的

在业务上实现是对这条规则进行递归,直到没有新的狗匹配到就结束

请问下用 NGQL 的方式有什么解决方案?