def singlesearchRelation(start_id, end_id): cli = client.Client(current_app.config['GREMLIN_DATABASE_URI'], 'g') query_string = f"shortestPath(g,{start_id} , {end_id})" result_set = cli.submit(query_string, request_options={'evaluationTimeout': 100000}) future_results = result_set.all() cli.close() path = future_results.result() return path
def Adoption(parent1_id, parent2_id, child_id): cli = client.Client(current_app.config['GREMLIN_DATABASE_URI'], 'g') query_string = f"adoption(g,{parent1_id} , {parent2_id}, {child_id}, [\"Father_lastname\":true])" result_set = cli.submit(query_string, request_options={'evaluationTimeout': 1000}) future_results = result_set.all() cli.close() try: results = future_results.result() return True except: return False
def marriage(Person1_id, Person2_id): cli = client.Client(current_app.config['GREMLIN_DATABASE_URI'], 'g') query_string = f"marriage(g,{Person1_id} , {Person2_id})" result_set = cli.submit(query_string, request_options={'evaluationTimeout': 1000}) future_results = result_set.all() cli.close() try: results = future_results.result() return True except: return False
def modify_person(person: Person, ID): cli = client.Client('ws://localhost:8182/gremlin', 'g') place = False query_string = f"g.V({ID})" for item in person.convert_to_gremlin_node().items(): query_string = query_string + f".property('{item[0]}','{item[1]}')" if 'Place' in item[0]: place = True result_set = cli.submit(query_string, request_options={'evaluationTimeout': 5000}) future_results = result_set.all() results = future_results.result() if place: relator.relate_locations(ID, person) print('Added Location vertex') return True