November 2022
Intermediate to advanced
294 pages
5h 58m
English
We’re going to revisit another graph we’ve seen before, the ARPANET, and look at some additional DQL features: inverses, paths, and recursion. So, let’s set up a Dgraph schema for this.
We start by clearing out the graph service of schemas and data:
| | iex> graph_delete |
| | "" |
We can now read our Dgraph schema from the graph store:
| | iex> IO.puts (arpa70_schema = read_graph "schemas/arpa70.schema").data |
| | name: string @index(term) . |
| | type: string @index(term) . |
| | |
| | H_LINK: [uid] @reverse . |
| | N_LINK: [uid] . |
| | |
| | type Host { |
| | name |
| | type |
| | <~H_LINK> |
| | } |
| | |
| | type Node { |
| | name |
| | type |
| | N_LINK |
| | } |
| | |
| | :ok |
No surprise here, apart from the @reverse directive set on the H_LINK predicate. Also, note the ...