Ejemplo n.º 1
0
def update_relationship(rels, key):
    labels_node1 = rels.get('labels_node1')
    if labels_node1 in ('', None):
        return None, 201
    name_node1 = rels.get('name_node1')
    if name_node1 in ('', None):
        return None, 201
    labels_node2 = rels.get('labels_node2')
    if labels_node2 in ('', None):
        return None, 201
    name_node2 = rels.get('name_node2')
    if name_node2 in ('', None):
        return None, 201
    labels = rels.get('labels')
    name = key
    if labels in ('', None) or name in ('', None):
        return None, 201
    full_name = rels.get('full_name')
    if full_name == '':
        full_name = None
    image = rels.get('image')
    if image == '':
        image == None
    object_id = rels.get('object_id')
    if object_id == 0:
        object_id == None
    weight = rels.get('weight')
    if weight == 0:
        weight == None
    keywords = rels.get('keywords')
    if keywords == '':
        keywords == None
    areas = rels.get('areas')
    if areas == '':
        areas == None
    from_date = rels.get('from_date')
    if from_date == '':
        from_date == None
    to_date = rels.get('to_date')
    if to_date == '':
        to_date == None
    node1 = find_node(labels_node1, name_node1)
    print(node1)
    node2 = find_node(labels_node2, name_node2)
    print(node2)
    if node1 in ('', None) or node2 in ('', None):
        return None, 201
    relationship = Relationship(node1,
                                labels,
                                node2,
                                name=name,
                                full_name=full_name,
                                image=image,
                                object_id=object_id,
                                weight=weight,
                                keywords=keywords,
                                areas=areas,
                                from_date=from_date,
                                to_date=to_date)
    relationship.__primarylabel__ = labels
    relationship.__primarykey__ = name
    print(relationship)
    graph = neo4j_connect()
    transaction = graph.begin()
    transaction.merge(relationship, primary_key=name, primary_label=labels)
    transaction.commit()
    transaction.finished()
    graph.exists(relationship)
    return relationship, 200
Ejemplo n.º 2
0
def create_relationship(rels):
    labels_node1 = rels.get('labels_node1')
    if labels_node1 in ('', None):
        return None, 201
    name_node1 = rels.get('name_node1')
    if name_node1 in ('', None):
        return None, 201
    labels_node2 = rels.get('labels_node2')
    if labels_node2 in ('', None):
        return None, 201
    name_node2 = rels.get('name_node2')
    if name_node2 in ('', None):
        return None, 201
    labels = rels.get('labels')
    name = rels.get('name')
    if labels in ('', None) or name in ('', None):
        return None, 201
    full_name = rels.get('full_name')
    if full_name == '':
        full_name = None
    image = rels.get('image')
    if image == '':
        image == None
    object_id = rels.get('object_id')
    if object_id == 0:
        object_id == None
    weight = rels.get('weight')
    if weight == 0:
        weight == None
    keywords = rels.get('keywords')
    if keywords == '':
        keywords == None
    areas = rels.get('areas')
    if areas == '':
        areas == None
    from_date = rels.get('from_date')
    if from_date == '':
        from_date == None
    to_date = rels.get('to_date')
    if to_date == '':
        to_date == None
    node1 = find_node(labels_node1, name_node1)
    print(node1)
    node2 = find_node(labels_node2, name_node2)
    print(node2)
    if node1 in ('', None) or node2 in ('', None):
        return None, 201
    relationship = Relationship(node1,
                                labels,
                                node2,
                                name=name,
                                full_name=full_name,
                                image=image,
                                object_id=object_id,
                                weight=weight,
                                keywords=keywords,
                                areas=areas,
                                from_date=from_date,
                                to_date=to_date)
    relationship.__primarylabel__ = labels
    relationship.__primarykey__ = name
    graph = neo4j_connect()
    transaction = graph.begin()
    transaction.create(relationship)
    transaction.commit()
    transaction.finished()
    graph.exists(relationship)
    # constrain = f"""CREATE CONSTRAINT ON ()-[r:{labels}]-() ASSERT exists(r.name)"""
    # graph.run(constrain)
    return relationship, 200