TigerGraph GraphQL 查询关系边或邻居顶点,其中参数不起作用

问题描述 投票:0回答:1

我正在尝试在 Tigergraph 中进行 graphql 查询,根据边缘或邻居顶点进行过滤,如下所示

query myQuery {
  myGraph {
    Comment(where: {created_To_User: {to: {id: {_eq: 10}}}}) {
      body
      created_To_User {
        to {
          id
        }
      }
    }
   }
}

这显示了以下问题:

{
“data”: null,
“errors”: [
“\nType Check Error in query (TYP-8017): line 5, col 50\nno type can be inferred for v.created_To_User\n”
]
}

截图:

enter image description here

graphql tigergraph
1个回答
0
投票

TigerGraph 解释查询的方式可能存在问题。错误消息表明 v.created_To_User 存在类型推断问题。

这是解决该问题的修改方法:

检查架构: 确保 Comment 顶点和created_To_User 边的架构定义正确定义。

重构查询:有时将查询分解为更简单的部分可以帮助确定问题所在。让我们尝试简化查询并逐步构建它。

简化查询: 首先,确保您可以检索基本评论数据:

graphql
query myQuery {
  myGraph {
    Comment {
      body
    }
  }
}
Next, verify that you can retrieve the created_To_User edge:

graphql
query myQuery {
  myGraph {
    Comment {
      body
      created_To_User {
        to {
          id
        }
      }
    }
  }
}
Finally, add the filtering condition:

graphql
query myQuery {
  myGraph {
    Comment(where: { created_To_User: { to: { id: { _eq: 10 }}}}) {
      body
      created_To_User {
        to {
          id
        }
      }
    }
  }
}

如果错误仍然存在,则可能是架构或 TigerGraph 如何处理嵌套过滤的更深层次问题。在这种情况下,请仔细检查以下内容:

  • 确保created_To_User边在 架构。
  • 确保Comment顶点具有必要的关系 定义。
© www.soinside.com 2019 - 2024. All rights reserved.