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]
Пример #3
0
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()