def generateTriangle(figureInfoArray, cordArray, triangleName,node_root): print("Inside generateTriangle function") write_Name_In_File(triangleName[0]) write_Name_In_File(triangleName[1]) write_Name_In_File(triangleName[2]) side1 = str(triangleName[0] + triangleName[1]) side2 = str(triangleName[1] + triangleName[2]) side3 = str(triangleName[0] + triangleName[2]) angle2 = triangleName angle3 = (side2 + triangleName[0]) angle1 = str(triangleName[1] + triangleName[0]+ triangleName[2]) point1 = triangleName[0] point2 = triangleName[1] point3 = triangleName[2] #Create root node node_triangle, = graph_db.create({"name": triangleName,"type":"triangle"}) if node_triangle : print(" node_triangle is generated") rel_triangle_root = node_root.create_relationship_to(node_triangle, "KD1") # Create three nodes node_a, node_b, node_c = graph_db.create( {"name": side1, "value":figureInfoArray[0],"type":"line"}, {"name": side2, "value":figureInfoArray[1],"type":"line"}, {"name": side3, "value":figureInfoArray[2],"type":"line"} ) # Join the nodes with a HAS relationship rel_triangle_a = node_triangle.create_relationship_to(node_a, "HAS") rel_triangle_b = node_triangle.create_relationship_to(node_b, "HAS") rel_triangle_c = node_triangle.create_relationship_to(node_c, "HAS") rel_a_b, = graph_db.get_or_create_relationships((node_a, "ANGLE",node_b, {"value": figureInfoArray[3]})) rel_b_c, = graph_db.get_or_create_relationships((node_b, "ANGLE",node_c, {"value": figureInfoArray[4]})) rel_a_c, = graph_db.get_or_create_relationships((node_a, "ANGLE",node_c, {"value": figureInfoArray[5]})) #Create input nodes node_point1, node_point2, node_point3= graph_db.create({"name":point1, "cordx":cordArray[0],"cordy":cordArray[1],"type":"point"},{"name":point2, "cordx":cordArray[2],"cordy":cordArray[3],"type":"point"},{"name":point3, "cordx":cordArray[4],"cordy":cordArray[5],"type":"point"}) # Join the nodes with a INPUT relationship rel_a_point1 = node_a.create_relationship_to(node_point1, "CONTAIN") rel_a_point2 = node_a.create_relationship_to(node_point2, "CONTAIN") rel_b_point2 = node_b.create_relationship_to(node_point2, "CONTAIN") rel_b_point3 = node_b.create_relationship_to(node_point3, "CONTAIN") rel_c_point1 = node_c.create_relationship_to(node_point1, "CONTAIN") rel_c_point3 = node_c.create_relationship_to(node_point3, "CONTAIN") # Join the point nodes with a CONNECTED relationship node_point1.create_relationship_to(node_point2, "CONNECTED") node_point2.create_relationship_to(node_point3, "CONNECTED") node_point1.create_relationship_to(node_point3, "CONNECTED") print("Exiting generate triangle function")
def addTriangle(triangleName): print("Inside addTriangleName function") #This function will save triangle which will help in checking changeTriangle #save_triangle.append(triangleName) node_new, = graph_db.create({"name":triangleName,"type":"triangle"}) node_root.create_relationship_to(node_new, "KD1") side1 = triangleName[0]+ triangleName[1] side4 = triangleName[1]+ triangleName[0] side5 = triangleName[2]+ triangleName[1] side6 = triangleName[0]+ triangleName[2] side2 = triangleName[1]+ triangleName[2] side3 = triangleName[2]+ triangleName[0] query = "START z=node(*) WHERE z.name={A} OR z.name={B} RETURN z" data, metadata = cypher.execute(graph_db, query, {"A": side1, "B":side4}) temp1 = data[0][0] print(temp1["name"]) query = "START z=node(*) WHERE z.name={A} OR z.name={B} RETURN z" data, metadata = cypher.execute(graph_db, query, {"A": side2, "B":side5}) temp2 = data[0][0] print(temp2["name"]) query = "START z=node(*) WHERE z.name={A} OR z.name={B} RETURN z" data, metadata = cypher.execute(graph_db, query, {"A": side3, "B":side6}) temp3 = data[0][0] print(temp3["name"]) #graph_db.get_or_create_relationships(node_new, "HAS",temp1) node_new.create_relationship_to(temp1, "HAS") node_new.create_relationship_to(temp2, "HAS") node_new.create_relationship_to(temp3, "HAS") #graph_db.get_or_create_relationships(node_new, "HAS",temp2) #graph_db.get_or_create_relationships(node_new, "HAS",temp3) print("Exiting addTriangleName function")
from __future__ import print_function # Import Neo4j modules from py2neo import neo4j, cypher from macro import graph_db, node_root # Attach to the graph db instance #graph_db = neo4j.GraphDatabaseService("http://localhost:7474/db/data/") #graph_db.clear() #Create root node #root = "Root" #node_root, = graph_db.create({"name":root,"type":"node"}) node_kd2, = graph_db.create({"name": "THEOREM1","type":"node"}) node_root.create_relationship_to(node_kd2, "KD2") node_triangle, = graph_db.create({"name": "ABC","type":"triangle"}) node_kd2.create_relationship_to(node_triangle, "Pythagorean") # Create three nodes node_a, node_b, node_c = graph_db.create( {"name": "AB","type":"line"}, {"name": "BC","type":"line"}, {"name": "CA","type":"line"} ) # Join the nodes with a HAS relationship rel_triangle_a = node_triangle.create_relationship_to(node_a, "HAS") rel_triangle_b = node_triangle.create_relationship_to(node_b, "HAS") rel_triangle_c = node_triangle.create_relationship_to(node_c, "HAS")