graphcast.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", ... apply=[VertexActor("user"), EdgeActor("follows")], ... encoding=EncodingType.UTF_8 ... ) result = resource(doc)
Resource
dataclass
¶
Bases: BaseDataclass
, JSONWizard
Resource configuration and processing.
This class represents a data resource that can be processed and transformed into graph structures. It manages the processing pipeline through actors and handles data encoding, transformation, and mapping.
Attributes:
Name | Type | Description |
---|---|---|
resource_name |
str
|
Name of the resource |
apply |
list
|
List of actors to apply in sequence |
encoding |
EncodingType
|
Data encoding type (default: UTF_8) |
merge_collections |
list[str]
|
List of collections to merge |
extra_weights |
list[Edge]
|
List of additional edge weights |
types |
dict[str, str]
|
Dictionary of field type mappings |
root |
dict[str, str]
|
Root actor wrapper for processing |
vertex_config |
dict[str, str]
|
Configuration for vertices |
edge_config |
dict[str, str]
|
Configuration for edges |
Source code in graphcast/architecture/resource.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 |
|
name
property
¶
Get the resource name.
Returns:
Name | Type | Description |
---|---|---|
str |
Name of the resource |
__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 graphcast/architecture/resource.py
__post_init__()
¶
Initialize the resource after dataclass initialization.
Sets up the actor wrapper and type mappings. Evaluates type expressions for field type casting.
Raises:
Type | Description |
---|---|
Exception
|
If type evaluation fails for any field |
Source code in graphcast/architecture/resource.py
count()
¶
Get the total number of actors in the resource.
Returns:
Name | Type | Description |
---|---|---|
int |
Number of actors |
finish_init(vertex_config, edge_config, transforms)
¶
Complete resource initialization.
Initializes the resource with vertex and edge configurations, and sets up the processing pipeline.
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 |