def __init__(self): ''' initializes: 1. graph database connection 2. datastore connection 3. graph database indices required 4. url and templates for interaction with the graph database REST API ''' Util.__init__(self) if os.environ.get('NEO4J_URL'): graph_db_url = urlparse(os.environ.get('NEO4J_URL')) neo4j.authenticate( "{host}:{port}".format(host = graph_db_url.hostname, port = graph_db_url.port), graph_db_url.username, graph_db_url.password ) self.graphdb = neo4j.GraphDatabaseService( 'http://{host}:{port}/db/data'.format(host = graph_db_url.hostname, port = graph_db_url.port) ) else: self.graphdb = neo4j.GraphDatabaseService() self.node_index = self.graphdb.get_or_create_index(neo4j.Node, 'NODE') self.disambiguation_index = self.graphdb.get_or_create_index(neo4j.Node, self.DISAMBIGUATION) self._url = lambda present_node: 'http://localhost:7474/db/data/node/{0}'.format(present_node) self._template = lambda target_node: { "to" : self._url(target_node), "relationships": { "type": "sibling" }, "cost_property": "weight", "algorithm" : "dijkstra" } self.DataM = RelDataStore()
def __init__(self): Util.__init__(self) self.fdb = FastDataStore() if os.environ.get('NEO4J_URL'): graph_db_url = urlparse(os.environ.get('NEO4J_URL')) neo4j.authenticate( "{host}:{port}".format(host = graph_db_url.hostname, port = graph_db_url.port), graph_db_url.username, graph_db_url.password ) self.graphdb = neo4j.GraphDatabaseService( 'http://{host}:{port}/db/data'.format(host = graph_db_url.hostname, port = graph_db_url.port) ) else: self.graphdb = neo4j.GraphDatabaseService() #self.graphdb.clear() #print "cleared database!" self.rel_key = "REL_CREATED" self.node_key = "NODE_CREATED" self.max_tries = 5 self.BATCH_LIM = 50 self.counter = 0 self.node_index = self.graphdb.get_or_create_index(neo4j.Node, 'NODE') self.disambiguation_index = self.graphdb.get_or_create_index(neo4j.Node, self.DISAMBIGUATION)
def __init__(self): Util.__init__(self) self.blacklist += ['by country', 'by area', 'by region', 'by continent', 'user:'******'portal:', 'talk', 'name']