graflo.architecture.resource¶
Resource management and processing for graph databases.
This module provides the core resource handling functionality for graph databases. It defines how data resources are processed, transformed, and mapped to graph structures through a system of actors and transformations.
Key Components
- Resource: Main class for resource processing and transformation
- ActorWrapper: Wrapper for processing actors
- ActionContext: Context for processing actions
The resource system allows for
- Data encoding and transformation
- Vertex and edge creation
- Weight management
- Collection merging
- Type casting and validation
Example
resource = Resource( ... resource_name="users", ... pipeline=[{"vertex": "user"}, {"edge": {"from": "user", "to": "user"}}], ... encoding=EncodingType.UTF_8 ... ) result = resource(doc)
Resource
¶
Bases: ConfigBaseModel
Resource configuration and processing.
Represents a data resource that can be processed and transformed into graph structures. Manages the processing pipeline through actors and handles data encoding, transformation, and mapping. Suitable for LLM-generated schema constituents.
Source code in graflo/architecture/resource.py
50 51 52 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 183 184 185 186 187 188 189 190 191 192 | |
edge_config
property
¶
Edge configuration (set by Schema.finish_init).
name
property
¶
Resource name (alias for resource_name).
root
property
¶
Root actor wrapper for the processing pipeline.
vertex_config
property
¶
Vertex configuration (set by Schema.finish_init).
__call__(doc)
¶
Process a document through the resource pipeline.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
doc
|
dict
|
Document to process |
required |
Returns:
| Type | Description |
|---|---|
defaultdict[GraphEntity, list]
|
defaultdict[GraphEntity, list]: Processed graph entities |
Source code in graflo/architecture/resource.py
count()
¶
finish_init(vertex_config, edge_config, transforms)
¶
Complete resource initialization.
Initializes the resource with vertex and edge configurations, and sets up the processing pipeline. Called by Schema after load.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
vertex_config
|
VertexConfig
|
Configuration for vertices |
required |
edge_config
|
EdgeConfig
|
Configuration for edges |
required |
transforms
|
dict[str, ProtoTransform]
|
Dictionary of available transforms |
required |