def igraph(self, where, table=None, vx="Invnum_N", ed="Patent", order="AppYear", va=", Lastname||', '||Firstname AS Name, City||'-'||State||'-'||Country AS Loc, Assignee, AsgNum", ea=", a.AppYear AS AppYear", eg=', a.AppYear'): import math, datetime, senGraph if not table: table = self.tbl tab = senGraph.senTab() self.c.executescript(""" DROP TABLE IF EXISTS G0; DROP TABLE IF EXISTS vx0; DROP TABLE IF EXISTS ed0; CREATE TEMP TABLE G0 AS SELECT * FROM %s WHERE %s ORDER BY %s; CREATE INDEX G_id ON G0 (%s); CREATE INDEX G_ed ON G0 (%s, %s); CREATE TEMPORARY TABLE vx0 AS SELECT %s, count(*) AS Patents %s FROM G0 GROUP BY %s; CREATE INDEX vx_id ON vx0 (%s); CREATE TEMPORARY TABLE ed0 AS SELECT a.%s, b.%s, a.%s AS hId, b.%s AS tId, count(*) AS Weight %s FROM G0 AS a INNER JOIN G0 AS b ON a.%s=b.%s AND a.%s<b.%s GROUP BY a.%s, b.%s %s; """ % (table, where, order, ed, vx, ed, vx, va, vx, vx, vx, vx, vx, vx, ea, ed, ed, vx, vx, vx, vx, eg)) tab.vList = self.c.execute("SELECT * FROM vx0").fetchall() tab.vlst = self.columns(table="vx0", output=False)[1:] tab.eList = self.c.execute("SELECT * FROM ed0").fetchall() tab.elst = self.columns(table="ed0", output=False)[2:] s = senGraph.senGraph(tab, "vertex") return s