forked from hellcoderz/WikiKB
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rethink.py
37 lines (29 loc) · 850 Bytes
/
rethink.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import rethinkdb as r
conn = r.connect("localhost",37105)
f = open("../yagoFacts.ttl")
def bulk_insert(ifile):
bulk_size = 1000
i = 0
bulk_ins = []
bulk = {}
for line in ifile:
bulk = {}
if line[0] == '#' or len(line) < 10 or line[0] == '@':
continue
line = line[:len(line)-2].replace("<","").replace(">","").strip()
line_arr = line.split("\t")
print line_arr,i
bulk["id"] = unicode(line_arr[0],errors="ignore")
bulk["rel"] = unicode(line_arr[1],errors="ignore")
bulk["id2"] = unicode(line_arr[2],errors="ignore")
if i < bulk_size - 1:
bulk_ins.append(bulk)
i += 1
elif i == bulk_size - 1:
bulk_ins.append(bulk)
r.db("yago").table("test").insert(bulk_ins).run(conn)
i = 0
if i < bulk_size - 1 and i > 0:
bulk_ins.append(bulk)
r.db("yago").table("test").insert(bulk_ins).run(conn)
bulk_insert(f)