Skip to content

Relationship Transformers

dict2graph comes with a lot of predefined transformers. For a basic concepts of a dict2Graph transformers have a look at How to use Transformers

Relationship Transformers List

This is a list if transformers that can be applied to relationships only

FlipNodes

Bases: _RelationTransformerBase

summary

Source code in dict2graph/transformers/rel_transformers.py
class FlipNodes(_RelationTransformerBase):
    """_summary_"""

    def transform_rel(self, rel: Relation):
        start_node = rel.start_node
        end_node = rel.end_node
        for inc_rel in start_node.incoming_relations:
            inc_rel.end_node = end_node
        for out_rel in end_node.outgoing_relations:
            out_rel.start_node = start_node
        rel.start_node = rel.end_node
        rel.end_node = start_node

OverrideReliationType

Bases: _RelationTransformerBase

summary

Source code in dict2graph/transformers/rel_transformers.py
class OverrideReliationType(_RelationTransformerBase):
    """_summary_"""

    def __init__(self, value: str = None):
        if not value:
            raise ValueError(f"Value must be a string. Got '{value}'")
        self.value = value

    def transform_rel(self, rel: Relation):
        rel.relation_type = self.value

UppercaseRelationType

Bases: _RelationTransformerBase

summary

Source code in dict2graph/transformers/rel_transformers.py
class UppercaseRelationType(_RelationTransformerBase):
    """_summary_"""

    def transform_rel(self, rel: Relation):
        rel.relation_type = rel.relation_type.upper()