import csv , time , snap, os, sys path1 = os.path.join(os.getcwd(), sys.argv[5],sys.argv[4], sys.argv[1]+'.hash') FIn1 = snap.TFIn(path1) mapping = snap.TStrIntSH (FIn1) path2 = os.path.join(os.getcwd(), sys.argv[5],sys.argv[4], sys.argv[1]+'.graph') FIn = snap.TFIn(path2) G = snap.TNGraph.Load(FIn) #Load Article Citation Graph path = os.path.join(os.getcwd(), sys.argv[5],sys.argv[6] ) if not os.path.exists(path): os.makedirs(path) #check if folder already exist, if it doesn't then create it path3 = os.path.join(os.getcwd(), sys.argv[5],sys.argv[6], sys.argv[2]+'.csv') file = open(path3 , 'w') for Edges in G.Edges(): #Create Author Citation Network path4 = os.path.join(os.getcwd(), sys.argv[5], sys.argv[3]+'.csv') with open(path4 , 'r') as DOI_Author_file: doi_author = csv.reader(DOI_Author_file , delimiter = ',') for auth in doi_author: srcDOI = mapping.GetKey(Edges.GetSrcNId()) destDOI = mapping.GetKey(Edges.GetDstNId()) if srcDOI == auth[0]: citingAuth = auth del citingAuth[0] if destDOI == auth[0]: citedAuth = auth del citedAuth[0] for ctngA in citingAuth: for ctdA in citedAuth: file.write(ctngA + ',' + ctdA + ',' + '\n') file.close() fread = open(path3,'r') data = fread.read() data = data.replace(' ','_') data = data.replace(',',' ') fread.close() fwrite = open(path3 , 'w') fwrite.write(data) fwrite.close() mapping = snap.TStrIntSH() #Create Author Citation Graph(binary) path = os.path.join(os.getcwd(), sys.argv[5],sys.argv[6], sys.argv[2]+'.csv') G = snap.LoadEdgeListStr(snap.PNGraph, path , 0, 1, mapping) path = os.path.join(os.getcwd(), sys.argv[5],sys.argv[6], sys.argv[2]+'.graph') FOut = snap.TFOut(path) G.Save(FOut) FOut.Flush() path = os.path.join(os.getcwd(), sys.argv[5],sys.argv[6], sys.argv[2]+'.hash') FOut = snap.TFOut(path) mapping.Save(FOut) FOut.Flush()