11# Heterogeneous Graphs
22
3- Heterogeneus graphs (also called heterographs), are graphs where each node has a type,
3+ Heterogeneous graphs (also called heterographs), are graphs where each node has a type,
44that we denote with symbols such as ` :user ` and ` :movie ` ,
55and edges also represent different relations identified
66by a triplet of symbols, ` (source_node_type, edge_type, target_node_type) ` , as in ` (:user, :rate, :movie) ` .
77
8- Different node/edge types can store different group of features
8+ Different node/edge types can store different groups of features
99and this makes heterographs a very flexible modeling tools
1010and data containers. In GraphNeuralNetworks.jl heterographs are implemented in
1111the type [ ` GNNHeteroGraph ` ] ( @ref ) .
@@ -73,7 +73,7 @@ julia> g.etypes
7373
7474## Data Features
7575
76- Node, edge, and graph features can be added at constuction time or later using:
76+ Node, edge, and graph features can be added at construction time or later using:
7777``` julia-repl
7878# equivalent to g.ndata[:user][:x] = ...
7979julia> g[:user].x = rand(Float32, 64, 3);
@@ -97,7 +97,6 @@ GNNHeteroGraph:
9797## Batching
9898Similarly to graphs, also heterographs can be batched together.
9999``` julia-repl
100- ```julia
101100julia> gs = [rand_bipartite_heterograph((5, 10), 20) for _ in 1:32];
102101
103102julia> Flux.batch(gs)
@@ -108,6 +107,7 @@ GNNHeteroGraph:
108107```
109108Batching is automatically performed by the [ ` DataLoader ` ] ( @ref ) iterator
110109when the ` collate ` option is set to ` true ` .
110+
111111``` julia-repl
112112using Flux: DataLoader
113113
127127
128128## Graph convolutions on heterographs
129129
130- See [ ` HeteroGraphConv ` ] ( @ref ) for how to perform convolutions on heterogenous graphs.
130+ See [ ` HeteroGraphConv ` ] ( @ref ) for how to perform convolutions on heterogeneous graphs.
0 commit comments