コード例 #1
0
ファイル: tests.py プロジェクト: joehunt588/AjguDB
 def setUp(self):
     try:
         rmtree('/tmp/ajgudb')
     except OSError:
         pass
     os.makedirs('/tmp/ajgudb')
     self.graph = AjguDB('/tmp/ajgudb')
コード例 #2
0
ファイル: hypertext.py プロジェクト: akatie/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)