Source code for graphbrain.__init__

from contextlib import contextmanager

from graphbrain.hyperedge import hedge
import graphbrain.memory.leveldb
import graphbrain.memory.sqlite


[docs]def hgraph(locator_string): """Returns an instance of Hypergraph identified by the locator_string. The hypergraph will be created if it does not exist. The location_string can be the path to an SQLite3 file or LevelDB folder. """ filename_parts = locator_string.split('.') if len(filename_parts) > 1: extension = filename_parts[-1] if extension in {'sqlite', 'sqlite3', 'db'}: return graphbrain.memory.sqlite.SQLite(locator_string) elif extension in {'leveldb', 'hg'}: return graphbrain.memory.leveldb.LevelDB(locator_string) raise RuntimeError('Unknown hypergraph database type.')
@contextmanager def hopen(*args, **kwds): hg = hgraph(*args, **kwds) hg.begin_transaction() hg.batch_mode = True try: yield hg finally: hg.batch_mode = False hg.end_transaction() hg.close()