Relationship
pylpg.relationship
Relationship classes and descriptors for graph edges.
Classes:
| Name | Description |
|---|---|
BoundRelationship |
A relationship descriptor bound to a specific node instance. |
Direction |
Direction of a relationship traversal. |
Relationship |
Base class for graph relationships. |
RelationshipDescriptor |
Descriptor that declares a relationship on a Node class. |
RelationshipFrom |
Declares an incoming relationship on a Node class. |
RelationshipTo |
Declares an outgoing relationship on a Node class. |
RelationshipUndirected |
Declares an undirected relationship on a Node class. |
BoundRelationship
BoundRelationship(owner: Node, descriptor: RelationshipDescriptor)
A relationship descriptor bound to a specific node instance.
Provides all() to traverse and connect() to create relationships.
Methods:
| Name | Description |
|---|---|
all |
Return all nodes connected to the owner via this relationship. |
connect |
Create and save a relationship from the owner to target_node. |
Source code in src/pylpg/relationship.py
all
all() -> list[Node]
Return all nodes connected to the owner via this relationship.
Source code in src/pylpg/relationship.py
connect
connect(target_node: Node, **properties: Any) -> None
Create and save a relationship from the owner to target_node.
Source code in src/pylpg/relationship.py
Direction
Bases: Enum
Direction of a relationship traversal.
Relationship
Base class for graph relationships.
Subclass Relationship to define relationship types. The __type__
class attribute is required and sets the relationship type in the database.
Methods:
| Name | Description |
|---|---|
is_saved |
Return True if this relationship has been saved to the database. |
to_dict |
Return primitive properties as a dict, excluding None values. |
Source code in src/pylpg/relationship.py
is_saved
to_dict
Return primitive properties as a dict, excluding None values.
Source code in src/pylpg/relationship.py
RelationshipDescriptor
RelationshipDescriptor(direction: Direction, relationship_class: type[Relationship])
Descriptor that declares a relationship on a Node class.
Use the convenience subclasses RelationshipTo, RelationshipFrom,
and RelationshipUndirected instead of this class directly.
Source code in src/pylpg/relationship.py
RelationshipFrom
RelationshipFrom(relationship_class: type[Relationship])
Bases: RelationshipDescriptor
Declares an incoming relationship on a Node class.
Source code in src/pylpg/relationship.py
RelationshipTo
RelationshipTo(relationship_class: type[Relationship])
Bases: RelationshipDescriptor
Declares an outgoing relationship on a Node class.
Source code in src/pylpg/relationship.py
RelationshipUndirected
RelationshipUndirected(relationship_class: type[Relationship])
Bases: RelationshipDescriptor
Declares an undirected relationship on a Node class.