Changeset View
Changeset View
Standalone View
Standalone View
docs/images/compression_steps.dot
digraph "Compression steps" { | digraph "Compression steps" { | ||||
// Horizontal graph | node [shape = none]; | ||||
rankdir=LR; | |||||
orc_dataset [label="ORC Graph\nDataset"]; | |||||
nodes_csv [label="graph.nodes.csv.zst"]; | |||||
labels_csv [label="graph.labels.csv.zst"]; | |||||
graph_mph [label="graph.mph"]; | |||||
subgraph { | |||||
node [fontcolor=darkgray]; | |||||
graph_base [label="graph-base.graph"] | |||||
graph_bfs_order [label="graph-bfs.order"] | |||||
graph_bfs [label="graph-bfs.graph"] | |||||
graph_bfs_transposed [label="graph-bfs-transposed.graph"] | |||||
graph_bfs_simplified [label="graph-bfs-simplified.graph"] | |||||
graph_llp_order [label="graph-llp.order"] | |||||
} | |||||
graph_llp [label="graph.graph"] | |||||
graph_llp_transposed [label="graph-transposed.graph"] | |||||
graph_order [label="graph.order"] | |||||
graph_obl [label="graph.obl"] | |||||
graph_transposed_obl [label="graph-transposed.obl"] | |||||
stats [label="graph.stats"] | |||||
swhidmap [label="graph.node2swhid.bin"] | |||||
typemap [label="graph.node2type.bin"] | |||||
persons_csv [label="graph.persons.csv.zst"]; | |||||
persons_mph [label="graph.persons.mph"]; | |||||
node_properties [label="graph.property.*"]; | |||||
labels_mph [label="graph.labels.mph"]; | |||||
labels_fcl [label="graph.labels.fcl"]; | |||||
graph_labelled [label="graph-labelled.*"]; | |||||
graph_transposed_labelled [label="graph-transposed-labelled.*"]; | |||||
subgraph { | subgraph { | ||||
input_edges [label="swh.edges.csv.gz", fontsize=9, shape=none]; | node [shape=box, fontname="Courier New"]; | ||||
input_nodes [label="swh.nodes.csv.gz", fontsize=9, shape=none]; | EXTRACT_NODES; | ||||
{rank=same; input_edges; input_nodes;} | MPH; | ||||
BV; | |||||
BFS; | |||||
PERMUTE_BFS; | |||||
TRANSPOSE_BFS; | |||||
SIMPLIFY; | |||||
LLP; | |||||
PERMUTE_LLP; | |||||
COMPOSE_ORDERS; | |||||
STATS; | |||||
TRANSPOSE; | |||||
OBL; | |||||
TRANSPOSE_OBL; | |||||
NODE_MAP; | |||||
EXTRACT_PERSONS; | |||||
MPH_PERSONS; | |||||
NODE_PROPERTIES; | |||||
MPH_LABELS; | |||||
FCL_LABELS; | |||||
EDGE_LABELS; | |||||
} | } | ||||
mph [label="MPH", shape=box]; | |||||
mph_out [label="swh.mph", fontsize=9, shape=none]; | |||||
bv_compress [label="BV compress", shape=box]; | orc_dataset -> EXTRACT_NODES; | ||||
bv_compress_out | EXTRACT_NODES -> nodes_csv; | ||||
[label="swh-bv.graph\lswh-bv.offsets\lswh-bv.obl\lswh-bv.properties", | EXTRACT_NODES -> labels_csv; | ||||
fontsize=9, shape=none]; | nodes_csv -> MPH -> graph_mph; | ||||
graph_mph -> BV; | |||||
bfs [label="BFS", shape=box]; | orc_dataset -> BV -> graph_base; | ||||
bfs_out [label="swh.order", fontsize=9, shape=none]; | graph_base -> BFS -> graph_bfs_order; | ||||
graph_bfs_order -> PERMUTE_BFS; | |||||
permute [label="Permute", shape=box]; | graph_base -> PERMUTE_BFS -> graph_bfs; | ||||
permute_out | graph_bfs -> TRANSPOSE_BFS -> graph_bfs_transposed; | ||||
[label="swh.graph\lswh.offsets\lswh.obl\lswh.properties", | graph_bfs_transposed -> SIMPLIFY; | ||||
fontsize=9, shape=none]; | graph_bfs -> SIMPLIFY -> graph_bfs_simplified; | ||||
graph_bfs_simplified -> LLP -> graph_llp_order; | |||||
stats [label="Stats", shape=box]; | graph_llp_order -> PERMUTE_LLP; | ||||
stats_out | graph_bfs -> PERMUTE_LLP -> graph_llp; | ||||
[label="swh.stats\lswh.indegree\lswh.outdegree", | graph_bfs_order -> COMPOSE_ORDERS; | ||||
fontsize=9, shape=none]; | graph_llp_order -> COMPOSE_ORDERS -> graph_order; | ||||
graph_llp -> TRANSPOSE -> graph_llp_transposed; | |||||
transpose [label="Transpose", shape=box]; | graph_llp -> OBL -> graph_obl; | ||||
transpose_out | graph_llp_transposed -> TRANSPOSE_OBL -> graph_transposed_obl; | ||||
[label="swh-transposed.graph\lswh-transposed.offsets\lswh-transposed.obl\lswh-transposed.properties", | graph_llp -> STATS -> stats; | ||||
fontsize=9, shape=none]; | graph_llp -> NODE_MAP; | ||||
nodes_csv -> NODE_MAP; | |||||
input_nodes -> mph; | graph_mph -> NODE_MAP; | ||||
input_edges -> bv_compress; | graph_order -> NODE_MAP; | ||||
mph -> mph_out; | NODE_MAP -> swhidmap; | ||||
mph_out -> bv_compress; | NODE_MAP -> typemap; | ||||
bv_compress -> bv_compress_out; | orc_dataset -> EXTRACT_PERSONS -> persons_csv; | ||||
bv_compress_out-> bfs; | persons_csv -> MPH_PERSONS -> persons_mph; | ||||
bv_compress_out-> permute; | orc_dataset -> NODE_PROPERTIES; | ||||
bfs -> bfs_out; | persons_mph -> NODE_PROPERTIES; | ||||
bfs_out -> permute; | graph_mph -> NODE_PROPERTIES; | ||||
permute -> permute_out; | graph_order -> NODE_PROPERTIES; | ||||
permute_out -> stats; | NODE_PROPERTIES -> node_properties; | ||||
permute_out -> transpose; | labels_csv -> MPH_LABELS -> labels_mph; | ||||
stats -> stats_out; | labels_mph -> FCL_LABELS; | ||||
transpose -> transpose_out; | labels_csv -> FCL_LABELS -> labels_fcl; | ||||
orc_dataset -> EDGE_LABELS; | |||||
labels_mph -> EDGE_LABELS; | |||||
graph_llp -> EDGE_LABELS; | |||||
graph_mph -> EDGE_LABELS; | |||||
graph_order -> EDGE_LABELS; | |||||
EDGE_LABELS -> graph_labelled; | |||||
EDGE_LABELS -> graph_transposed_labelled; | |||||
} | } |