This commit is contained in:
jeremy 2022-11-02 14:18:04 +01:00
parent 2d91a7fd1e
commit e909e7d2d8

View File

@ -68,52 +68,49 @@ def main():
assert filename != "" assert filename != ""
with open(filename, "w") as f: with open(filename, "w") as f:
f.write("MATCH (n) DETACH DELETE n;\n")
f.write("MATCH (n) DETACH DELETE n;\n") # Create the indexes
f.write("CREATE INDEX ON :File;\n")
f.write("CREATE INDEX ON :Permission;\n")
f.write("CREATE INDEX ON :Identity;\n")
f.write("CREATE INDEX ON :File(platformId);\n")
f.write("CREATE INDEX ON :File(name);\n")
f.write("CREATE INDEX ON :Permission(name);\n")
f.write("CREATE INDEX ON :Identity(email);\n")
# Create the indexes # Create extra index: in distributed, this will be the schema
f.write("CREATE INDEX ON :File;\n") f.write("CREATE INDEX ON :File(uuid);\n")
f.write("CREATE INDEX ON :Permission;\n") f.write("CREATE INDEX ON :Permission(uuid);\n")
f.write("CREATE INDEX ON :Identity;\n") f.write("CREATE INDEX ON :Identity(uuid);\n")
f.write("CREATE INDEX ON :File(platformId);\n")
f.write("CREATE INDEX ON :File(name);\n")
f.write("CREATE INDEX ON :Permission(name);\n")
f.write("CREATE INDEX ON :Identity(email);\n")
# Create extra index: in distributed, this will be the schema uuid = 1
f.write("CREATE INDEX ON :File(uuid);\n")
f.write("CREATE INDEX ON :Permission(uuid);\n")
f.write("CREATE INDEX ON :Identity(uuid);\n")
uuid = 1 # Create the nodes File
for index in range(0, number_of_files):
f.write(f'CREATE (:File {{uuid: {uuid}, platformId: "platform_id", name: "name_file_{uuid}"}});\n')
uuid += 1
# Create the nodes File identities = []
for index in range(0, number_of_files): # Create the nodes Identity
f.write(f'CREATE (:File {{uuid: {uuid}, platformId: "platform_id", name: "name_file_{uuid}"}});\n') for index in range(0, number_of_identities):
uuid += 1 f.write(f'CREATE (:Identity {{uuid: {uuid}, name: "mail_{uuid}@something.com"}});\n')
uuid += 1
identities = [] for outer_index in range(0, number_of_files):
# Create the nodes Identity for inner_index in range(0, number_of_identities):
for index in range(0, number_of_identities): file_uuid = outer_index + 1
f.write(f'CREATE (:Identity {{uuid: {uuid}, name: "mail_{uuid}@something.com"}});\n') identity_uuid = number_of_files + inner_index + 1
uuid += 1
for outer_index in range(0, number_of_files): if random.random() <= percentage_of_permissions:
for inner_index in range(0, number_of_identities): f.write(f'CREATE (:Permission {{uuid: {uuid}, name: "name_permission_{uuid}"}});\n')
file_uuid = outer_index + 1 f.write(
identity_uuid = number_of_files + inner_index + 1 f"MATCH (permission:Permission {{uuid: {uuid}}}), (file:File {{uuid: {file_uuid}}}) CREATE (permission)-[e: IS_FOR_FILE]->(file);\n"
)
if random.random() <= percentage_of_permissions: f.write(
f.write(f'CREATE (:Permission {{uuid: {uuid}, name: "name_permission_{uuid}"}});\n') f"MATCH (permission:Permission {{uuid: {uuid}}}), (identity:Identity {{uuid: {identity_uuid}}}) CREATE (permission)-[e: IS_FOR_IDENTITY]->(identity);\n"
f.write( )
f"MATCH (permission:Permission {{uuid: {uuid}}}), (file:File {{uuid: {file_uuid}}}) CREATE (permission)-[e: IS_FOR_FILE]->(file);\n" uuid += 1
)
f.write(
f"MATCH (permission:Permission {{uuid: {uuid}}}), (identity:Identity {{uuid: {identity_uuid}}}) CREATE (permission)-[e: IS_FOR_IDENTITY]->(identity);\n"
)
uuid += 1
f.close()
if __name__ == "__main__": if __name__ == "__main__":