clusters.dot
subgraph "logical_grouping" {
style = rounded;
bgcolor = gray95;
color = gray;
subgraph cluster_meta {
label = <<b>meta</b>>;
dbversion;
}
subgraph cluster_content {
label = <<b>content</b>>;
content;
skipped_content;
}
subgraph cluster_directory {
label = <<b>directories</b>>;
directory;
directory_entry_dir;
directory_entry_file;
directory_entry_rev;
}
subgraph cluster_revision {
label = <<b>revisions</b>>;
revision;
revision_history;
person;
}
subgraph cluster_release {
label = <<b>releases</b>>;
release;
}
subgraph cluster_occurrences {
label = <<b>occurrences</b>>;
occurrence;
occurrence_history;
}
subgraph cluster_origins {
label = <<b>origins</b>>;
origin;
fetch_history;
}
subgraph cluster_projects {
label = <<b>projects</b>>;
project;
project_history;
}
subgraph cluster_organization {
label = <<b>organizations</b>>;
organization;
list_history;
}
{
edge [style = dashed];
# "rtcolN" identifies the N-th row in a table, as a source
# "ltcolN" identifies the N-th row in a table, as a destination
"directory_entry_dir":rtcol2 -> "directory":ltcol1;
"directory_entry_file":rtcol2 -> "content":ltcol2;
"directory_entry_file":rtcol2 -> "skipped_content":ltcol2;
"directory_entry_rev":rtcol2 -> "revision":ltcol1;
"directory":rtcol2 -> "directory_entry_dir":ltcol1;
"directory":rtcol3 -> "directory_entry_file":ltcol1;
"directory":rtcol4 -> "directory_entry_rev":ltcol1;
"occurrence":rtcol3 -> "revision":ltcol1;
"occurrence_history":rtcol3 -> "revision":ltcol1;
"release":rtcol2 -> "revision":ltcol1;
"revision":rtcol7 -> "directory":ltcol1;
"revision_history":rtcol2 -> "revision":ltcol1;
}
}