def create_node_and_rel(node_key1, node1_list, node1_index_name, rel, node_key2, \ node2_id, node2_index_name, submit_user, k_label, node2_name): Index = ManualIndexManager(graph) # manage index group_index = Index.get_or_create_index(Node, node2_index_name) p_node2_id = p.get_pinyin(node2_id) p_node2_id = p_node2_id.lower() c_string = "START end_node=node:%s(%s='%s') RETURN end_node"\ % (node2_index_name, node_key2, p_node2_id) print c_string try: result = graph.run(c_string) except: result = [] node_l = [] for i in result: node_l.append(i[0]) if len(node_l) > 0: #判断对否有该节点存在 return 'group already exist' else: group_dict = {} group_dict['group_name'] = node2_name group_dict['people'] = '&'.join(node1_list) group_dict['people_count'] = len(node1_list) group_dict['create_ts'] = int(time.time()) group_dict['user'] = submit_user group_dict['k_label'] = '&'.join(k_label.split(',')) group_id = p.get_pinyin(node2_id) group_id = group_id.lower() labels = get_special_labels(node1_list) group_dict['label'] = labels wiki_link = getUrlByKeyWordList(labels) group_dict['wiki_link'] = json.dumps(wiki_link) # es_group.delete(index=group_name, doc_type=group_type, id='*****@*****.**') es_group.index(index=group_name, doc_type=group_type, id=group_id, body=group_dict) new_group = Node(group_node, group=group_id) graph.create(new_group) group_index.add("group", group_id, new_group) # return 'succeed' user_org = search_user_type(node1_list) user_id = user_org[0] org_id = user_org[1] flag = create_rel(node_key1, user_id, node1_index_name, rel, node_key2, group_id, node2_index_name, submit_user) node_key11 = org_primary node11_index_name = org_index_name info = create_rel(node_key1, org_id, node1_index_name, rel, node_key2, group_id, node2_index_name, submit_user) return info
def create_node_and_rel(node_key1, node1_list, node1_index_name, rel, node_key2, \ node2_id, node2_index_name, submit_user, k_label, node2_name): Index = ManualIndexManager(graph) # manage index theme_index = Index.get_or_create_index(Node, node2_index_name) p_node2_id = p.get_pinyin(node2_id) p_node2_id = p_node2_id.lower() c_string = "START end_node=node:%s(%s='%s') RETURN end_node"\ % (node2_index_name, node_key2, p_node2_id) print c_string try: result = graph.run(c_string) except: result = [] node_l = [] for i in result: # node1_l node_l.append(i[0]) if len(node_l) > 0: #判断对否有该节点存在 return 'theme already exist' else: theme_dict = {} theme_dict['topic_name'] = node2_name theme_dict['event'] = '&'.join(node1_list) theme_dict['event_count'] = len(node1_list) theme_dict['create_ts'] = int(time.time()) theme_dict['user'] = submit_user if k_label: k_label = '&'.join(k_label.split(',')) theme_dict['k_label'] = k_label topic_id = p.get_pinyin(node2_id) topic_id = topic_id.lower() labels = get_special_labels(node1_list) theme_dict['label'] = labels wiki_link = getUrlByKeyWordList(labels) theme_dict['wiki_link'] = json.dumps(wiki_link) # es_event.delete(index=special_event_name, doc_type=special_event_type, id='*****@*****.**') es_event.index(index=special_event_name, doc_type=special_event_type, id=topic_id, body=theme_dict) new_theme = Node(special_event_node, event=topic_id) graph.create(new_theme) theme_index.add("event", topic_id, new_theme) # return 'succeed' info = create_rel(node_key1, node1_list, node1_index_name, rel, node_key2, topic_id, node2_index_name, submit_user) return info