graflo.architecture.graph_types.container¶
Graph data container for vertices and edges.
Attributes¶
Classes¶
GraphContainer
¶
Bases: ConfigBaseModel
Container for graph data including vertices and edges.
Attributes:
| Name | Type | Description |
|---|---|---|
vertices |
dict[VertexName, list]
|
Dictionary mapping vertex names to lists of vertex data |
edges |
dict[tuple[str, str, str | None], list]
|
Dictionary mapping edge IDs to lists of edge data |
linear |
list[defaultdict[str | tuple[str, str, str | None], list[Any]]]
|
List of default dictionaries containing linear data |
attached |
dict[VertexName, list]
|
Documents written onto existing vertices found by a secondary identity, never creating one, by class |
attached_by |
dict[VertexName, str]
|
The secondary identity each class in |
Source code in graflo/architecture/graph_types/container.py
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | |
Attributes¶
attached = Field(default_factory=dict)
class-attribute
instance-attribute
¶
attached_by = Field(default_factory=dict)
class-attribute
instance-attribute
¶
edges = Field(default_factory=dict)
class-attribute
instance-attribute
¶
linear = Field(default_factory=list)
class-attribute
instance-attribute
¶
vertices = Field(default_factory=dict)
class-attribute
instance-attribute
¶
Methods:¶
from_docs_list(list_default_dicts, attached=None, attached_by=None)
classmethod
¶
Create a GraphContainer from a list of default dictionaries.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
list_default_dicts
|
list[defaultdict[GraphEntity, list]]
|
List of default dictionaries containing vertex and edge data |
required |
attached
|
list[dict[VertexName, list]] | None
|
Per-document attached documents by class, folded in order |
None
|
attached_by
|
dict[VertexName, str] | None
|
The selector each attached class is found by |
None
|
Returns:
| Type | Description |
|---|---|
GraphContainer
|
New GraphContainer instance |
Raises:
| Type | Description |
|---|---|
ValueError
|
If edge IDs are not properly formatted |
Source code in graflo/architecture/graph_types/container.py
is_empty()
¶
Whether no vertex, attached record or edge is held.
linear is not consulted: it only indexes the same documents per
input record.
Source code in graflo/architecture/graph_types/container.py
items()
¶
pick_unique()
¶
Remove duplicate entries from vertices, attached documents and edges.
Source code in graflo/architecture/graph_types/container.py
ItemsView
¶
View class for iterating over vertices and edges in a GraphContainer.