def setUp(self): try: rmtree('/tmp/ajgudb') except OSError: pass os.makedirs('/tmp/ajgudb') self.graph = AjguDB('/tmp/ajgudb')
row = '' else: row += char if row: # yield the very last row if any yield row.split('\t') COOL = re.compile(r'^/c/en/[\w_]+$') def wordify(concept): return concept[len('/c/en/'):].replace('_', ' ') if __name__ == '__main__': args = docopt(__doc__) graph = AjguDB(args['--database'], logging=True) if args['conceptnet'] and args['load']: edges = chunks_to_rows(gzip_to_chunks(args['FILENAME'])) for edge in edges: _, relation, start, end, _ = edge # index only cool concepts if COOL.search(start) and COOL.search(end): with graph.transaction(): # get or create start start = Vertex(ref=start, concept=wordify(start)) new, start = graph.get_or_create(start) if new: graph.index(start, start['concept']) # get or create end end = Vertex(ref=end, concept=wordify(end)) new, end = graph.get_or_create(end)