dgraph 查询 有查询条件的尾实体
时间: 2024-01-04 11:03:03 浏览: 23
在Dgraph中,可以使用GraphQL+查询语言来查询有查询条件的尾实体。一般情况下,查询条件可以通过指定某个节点的属性值来实现。
以下是一个示例查询语句,可以查询名称为"John"的人物节点的所有朋友节点:
```
{
var(func: eq(name, "John")) {
friend @filter(eq(age, 30)) {
name
age
}
}
}
```
在上述查询语句中,`eq(name, "John")`表示查询名称为"John"的人物节点,`friend`表示查询该节点的所有朋友节点,`@filter(eq(age, 30))`表示过滤查询结果,只返回年龄为30的朋友节点。最终,查询结果将返回所有符合条件的朋友节点的名称和年龄信息。
需要注意的是,Dgraph中的查询语句非常灵活,可以根据具体的业务需求进行自由组合和定制。同时,Dgraph还支持多种查询语言,如GraphQL和DQL,可以根据具体的场景和需求进行选择。
相关问题
那多个查询条件呢
在Dgraph中,可以通过使用`AND`和`OR`逻辑操作符来实现多个查询条件的组合查询。
以下是一个示例查询语句,可以查询名称为"John"且年龄在30岁到40岁之间的人物节点的所有朋友节点,并对结果进行分页:
```
{
var(func: allofterms(name, "John")) @filter(and(gt(age, 30), lt(age, 40))) {
friend(first: 10, offset: 0) {
name
age
}
}
}
```
在上述查询语句中,`@filter`语句指定了多个查询条件,使用`and`逻辑操作符将这些条件组合在一起。具体来说,`gt(age, 30)`表示查询年龄大于30岁的节点,`lt(age, 40)`表示查询年龄小于40岁的节点,`allofterms(name, "John")`表示查询名称中包含"John"的节点。最终,查询结果将返回名称为"John"且年龄在30岁到40岁之间的人物节点的所有朋友节点的名称和年龄信息。
需要注意的是,Dgraph中的查询语句非常灵活,可以根据具体的业务需求进行自由组合和定制。同时,Dgraph还支持多种查询语言,如GraphQL和DQL,可以根据具体的场景和需求进行选择。
不要区间查询条件的例子
好的,以下是一个不涉及区间查询条件的例子,查询所有名称为"John"的人物节点的所有朋友节点,并按照年龄升序排列:
```
{
var(func: eq(name, "John")) {
friend(orderasc: age) {
name
age
}
}
}
```
在上述查询语句中,`eq(name, "John")`表示查询名称为"John"的节点。`friend(orderasc: age)`表示查询该节点的所有朋友节点,并按照年龄升序排列。最终,查询结果将返回所有符合条件的朋友节点的名称和年龄信息。
这个例子中只包含一个查询条件,因此比较简单。查询语句中的`eq`操作符表示等于操作,用于精确匹配属性值。如果要查询其他属性值,可以使用其他的比较操作符,如`gt`、`lt`、`ge`、`le`等。Dgraph支持的比较操作符非常丰富,可以根据具体的业务需求进行选择。