schema.py
branchstable
changeset 3826 0c0c051863cb
parent 3825 b54c8d664dd6
child 3827 c7142a4e3470
--- a/schema.py	Thu Nov 12 12:08:43 2009 +0100
+++ b/schema.py	Thu Nov 12 12:15:19 2009 +0100
@@ -812,6 +812,17 @@
                 raise Exception('unable to guess selection variables')
             mainvars = ','.join(mainvars)
         RQLExpression.__init__(self, expression, mainvars, eid)
+        self.vargraph = {}
+        for relation in self.rqlst.get_nodes(nodes.Relation):
+            try:
+                rhsvarname = relation.children[1].children[0].variable.name
+                lhsvarname = relation.children[0].name
+            except AttributeError:
+                pass
+            else:
+                self.vargraph.setdefault(lhsvarname, []).append(rhsvarname)
+                self.vargraph.setdefault(rhsvarname, []).append(lhsvarname)
+                #self.vargraph[(lhsvarname, rhsvarname)] = relation.r_type
 
     @property
     def full_rql(self):