memgraph/tests/public_benchmark/ldbc/index_creation.py
Matej Ferencevic 99494d77e3 Integrated C++ CSV to snapshot into LDBC.
Reviewers: mislav.bradac

Reviewed By: mislav.bradac

Subscribers: pullbot

Differential Revision: https://phabricator.memgraph.io/D826
2017-09-23 23:12:23 +02:00

44 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import argparse
import sys
from neo4j.v1 import GraphDatabase, basic_auth
def parse_args():
argp = argparse.ArgumentParser(
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter)
argp.add_argument('indexfile', help='File with indexes that should be created.')
argp.add_argument('--host', default='127.0.0.1', help='Database host.')
argp.add_argument('--port', default='7687', help='Database port.')
argp.add_argument('--username', default='', help='Database username.')
argp.add_argument('--password', default='', help='Database password.')
argp.add_argument('--database', default='memgraph',
choices=('memgraph', 'neo4j'), help='Database used.')
return argp.parse_args()
# Parse args
args = parse_args()
# Initialize driver and create session.
driver = GraphDatabase.driver('bolt://{}:{}'.format(args.host, args.port),
auth=basic_auth(args.username, args.password),
encrypted=False)
session = driver.session()
# The fist program argument is path to a file with indexes.
with open(args.indexfile, "r") as f:
print("Starting index creation...")
for line in f.readlines():
session.run(line.strip()).consume()
print("%s -> DONE" % line.strip())
if args.database == "neo4j":
print("Waiting for indexes to be fully created...")
session.run("CALL db.awaitIndexes(14400);").consume()
print("All indexes were created.")
# Do the cleanup.
session.close()
driver.close()