我正在尝试在 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”
]
}
截图:
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 如何处理嵌套过滤的更深层次问题。在这种情况下,请仔细检查以下内容: