Weβre overhauling Dgraphβs docs to make them clearer and more approachable. If
you notice any issues during this transition or have suggestions, please
let us know.
Get a single object
Fetch thetitle
, text
and datePublished
for a post with id 0x1
.
get
queries is also easy. For
example, this is how you would fetch the authors for a post and their friends.
id
0x1 and their
posts about GraphQL
.
@id
directive applied to it, you can also
fetch objects using that.
For example, given the following schema, the query below fetches a userβs name
and age
by userID
(which has the @id
directive):
Schema:
Query a list of objects
You can query a list of objects using GraphQL. For example, the following query fetches thetitle
, text
and datePublished
for all posts:
id
:
Query that filters objects by predicate
Before filtering an object by a predicate, you need to add a@search
directive
to the field thatβs used to filter the results.
For example, if you wanted to query events between two dates, or events that
fall within a certain radius of a point, you could have an Event
schema, as
follows:
and
keyword to show results with
multiple filters applied. In the query below, we fetch posts that have GraphQL
in their title and have a score > 100
.
This example assumes that the Post
type has a @search
directive applied to
the title
field and the score
field.
Filter a query for a list of objects
You can also filter nested objects while querying for a list of objects. For example, the following query fetches all of the authors whose name containsLee
and with their completed
posts that have a score greater than 10
:
Filter a query for a range of objects with between
You can filter query results within an inclusive range of indexed and typed
scalar values using the between
keyword.
This keyword is also supported for DQL. To learn more, see DQL Functions:
between
.between
filter, you could fetch records for students who are between
10 and 20 years of age:
Query:
ba
and hz
:
Query:
Filter to match specified field values with in
You can filter query results to find objects with one or more specified values
using the in
keyword. This keyword can find matches for fields with the @id
directive applied. The in
filter is supported for all data types such as
string
, enum
, Int
, Int64
, Float
, and DateTime
.
For example, letβs say that your schema defines a State
type that has the
@id
directive applied to the code
field:
in
keyword, you can query for a list of states that have the postal
code WA or VA using the following query:
Filter for objects with specified non-null fields using has
You can filter queries to find objects with a non-null value in a specified
field using the has
keyword. The has
keyword can only check whether a field
returns a non-null value, not for specific field values.
For example, your schema might define a Student
type that has basic
information about each student such as their ID number, age, name, and email
address:
name
, run the following query:
Student
objects where both name
and email
fields are
non-null.