def put_in_node(): Index = ManualIndexManager(graph) # manage index tx = graph.begin() count = 0 index_list = [] # temporal put in filter_set = set() ts = time.time() #domain_name = "domain_index" domain_name = "topic_index" domain_index = Index.get_or_create_index(Node, domain_name) Batch_index = ManualIndexWriteBatch(graph) #for item in domain_list: for item in topic_list: #st_node = Index.get_or_create_indexed_node(node_name, "uid", start_node, {"uid":start_node}) #ed_node = Index.get_or_create_indexed_node(node_name, "uid", end_node, {"uid":end_node}) #exist = Index.get_indexed_node(domain_name, "domain", item) exist = Index.get_indexed_node(domain_name, "topic", item) if not exist: #node = Node("Domain", domain=item) node = Node("Topic", topic=item) tx.create(node) index_list.append([item, node]) tx.commit() for item in index_list: #domain_index.add('domain', item[0], item[1]) domain_index.add('topic', item[0], item[1]) print domain_index print domain_index.get("topic", '科技类')
def query_db(): Index = ManualIndexManager(graph) # manage index #node_1 = Index.get_indexed_node("uid_index", "uid", "3293303045") node_1 = Index.get_indexed_node("uid_index", "uid", "2139111593") c_string = "MATCH (node_1)-[:retweet]->(fof) RETURN fof.uid" result = graph.run(c_string) uid_set = [] count = 0 for item in graph.run(c_string): uid_set.append(item['fof.uid']) count += 1 print count print len(uid_set) print sorted(uid_set)[:20]
def put_in(): Index = ManualIndexManager(graph) # manage index tx = graph.begin() count = 0 index_list = [] # temporal put in filter_set = set() ts = time.time() node_name = "node_index" #rel_name = "rel_index" node_index = Index.get_or_create_index(Node, node_name) #rel_index = Index.get_or_create_index(Relationship, rel_name) Batch_index = ManualIndexWriteBatch(graph) user_list = json.loads(r.get("user_set")) for user in user_list: #st_node = Index.get_or_create_indexed_node(node_name, "uid", start_node, {"uid":start_node}) #ed_node = Index.get_or_create_indexed_node(node_name, "uid", end_node, {"uid":end_node}) exist = Index.get_indexed_node(node_name, "uid", user) if not exist and user not in filter_set: node = Node("User", uid=user) tx.create(node) index_list.append([user, node]) filter_set.add(node) count += 1 if count % 1000 == 0: print count te = time.time() print "cost time: %s" % (te - ts) ts = te tx.commit() tx = graph.begin() for item in index_list: Batch_index.add_to_index(Node, node_name, "uid", item[0], item[1]) index_list = [] filter_set = set() tx.commit()