type_bridge.models.registry¶
registry
¶
Central registry for TypeDB models.
ModelRegistry
¶
Registry for TypeDB model classes.
Maps TypeDB type names to Python classes for polymorphic resolution.
register
classmethod
¶
Register a model class.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
model
|
type[TypeDBType]
|
The model class to register |
required |
Source code in type_bridge/models/registry.py
get
classmethod
¶
Get model class by type name.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_name
|
str
|
TypeDB type name |
required |
Returns:
| Type | Description |
|---|---|
type[TypeDBType] | None
|
The registered model class or None |
resolve
classmethod
¶
Resolve a TypeDB type label to a Python model class.
This is the unified method for polymorphic class resolution. It: 1. First tries the central registry (O(1) lookup) 2. Falls back to subclass search if not found 3. Caches results for repeated lookups
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
type_label
|
str | None
|
The TypeDB type label (from label() function) |
required |
allowed_classes
|
tuple[type[Entity], ...]
|
Tuple of allowed entity classes for this context |
required |
Returns:
| Type | Description |
|---|---|
type[Entity]
|
The matching Python entity class, or the first allowed class as fallback |
Source code in type_bridge/models/registry.py
register_attribute_owners
classmethod
¶
Populate the reverse index for a model's owned attributes.
Must be called after _owned_attrs has been populated
(i.e. after SchemaScanner runs in Entity/Relation __init_subclass__).
Source code in type_bridge/models/registry.py
get_attribute_owners
classmethod
¶
Get all model classes that own the given attribute type.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
attr_class
|
type
|
Attribute subclass to look up |
required |
Returns:
| Type | Description |
|---|---|
set[type[TypeDBType]]
|
Set of Entity/Relation classes that own this attribute |