def fuzzy_query(): node_type = request.args.get('node_type', 'User') #Org, Event uid = request.args.get('uid', '1') if node_type == '' or uid == '': print "incoming there null" return '00' if node_type == 'User': # user query c_string = "start n = node:%s('uid:*%s*') match (n) return n.uid order by n.id limit 10" % ( node_index_name, uid) return c_string a = time.time() result = select_rels_all(c_string) print time.time() - a # result = select_people_es(result) return json.dumps(result) elif node_type == '2': # event query c_string = "start n = node:%s('event:*%s*') match (n) return n order by n.id limit 10" % ( event_index_name, uid) a = time.time() result = select_rels_all(c_string) print time.time() - a # result = select_event_es(result) return json.dumps(result) else: print "node_type is error" return '01'
def select_node(): list = [] list_set = [] result = select_rels_all("MATCH (n:Person)-[r]-() return n") for item in result: list.append(item) list_set = [i for i in set(list)] return json.dumps(list_set)
def select_event_node(): list = [] list_set = [] result = select_rels_all("MATCH (n:Person)-[r:admin]-(m) return n,m") for item in result: list.append(item[1]) # list.append(item[2]) list_set = [i for i in set(list)] return json.dumps(list_set)
def select_event_relation(): result_dict = {} list = [] list1 = [] result = select_rels_all("MATCH (n:Person)-[r:admin]->(m) return n.uid,r,m.event_id") for item in result: id = item[0] friend = item[1].type() print friend id2 = item[2] a = (id, friend, id2) list.append(a) list1.append(id) list1.append(id2) list1_set = [i for i in set(list1)] result_dict["relation"] = list result_dict["node"] = list1_set return json.dumps(result_dict)
def node_or_node_query(): node1_uid = request.args.get('node1_uid', '') node1_type = request.args.get('node1_type','') node2_uid = request.args.get('node2_uid', '') node2_type = request.args.get('node2_type','') if node1_type== '2': node1_index_name=event_index_name else: node1_index_name=node_index_name if node2_type== '2': node2_index_name=event_index_name else: node2_index_name=node_index_name if node1_uid == '' or node2_uid == '': print ("incoming there null") return '0' c_string = "start start_node= node:%s('uid:*%s*'),end_node=node:%s('uid:*%s*') match (start_node)-[r]->(end_node) return start_node.uid,start_node.uname,r,end_node.uid,end_node.uname order by start_node.id limit 10" \ % (node1_index_name, node1_uid, node2_index_name, node2_uid) print c_string result = select_rels_all(c_string) list = [] for item in result: uid1 = item[0] uname1 = item[1] rel = item[2].type() uid2 = item[3] uname2 = item[4] result={} result["uid1"]=uid1 result["uname1"]=uname1 result["rel"]=rel result["uid2"]=uid2 result["uname2"]=uname2 list.append(result) return json.dumps(list)