def relationships_text_to_list_of_dict()

in hugegraph-llm/src/hugegraph_llm/operators/llm_op/unstructured_data_utils.py [0:0]


def relationships_text_to_list_of_dict(relationships):
    result = []
    for relationship in relationships:
        relationship_list = relationship.split(",")
        if len(relationship_list) < 3:
            continue
        start = {}
        end = {}
        properties = {}
        relationship_type = relationship_list[1].strip().replace('"', "")
        matches = re.findall(JSON_REGEX_RELATIONSHIPS, relationship)
        i = 1
        for match in matches:
            if i == 1:
                start = json.loads(match)
                i = 2
                continue
            if i == 2:
                end = json.loads(match)
                i = 3
                continue
            if i == 3:
                properties = json.loads(match)
        result.append(
            {
                "start": start,
                "end": end,
                "type": relationship_type,
                "properties": properties,
            }
        )
    return result