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. |
relationships |
Return the relationships connecting the owner to those nodes. |
Source code in src/pylpg/relationship.py
all
all() -> list[Node]
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
relationships
relationships() -> list[Relationship]
Return the relationships connecting the owner to those nodes.
Each relationship carries its properties, its source and its target.
all() and relationships() are separate queries whose results are
not necessarily in the same order, so they must not be paired up by
position.
Example
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.