packages/vaex-core/vaex/expression.py
def _graph(self):
        """"Return a graph containing the dependencies of this expression
        Structure is:
            [<string expression>, <function name if callable>, <function object if callable>, [subgraph/dependencies, ....]]
        """
        expression = self.expression

        def walk(node):
            if isinstance(node, six.string_types):
                if node in self.ds.virtual_columns:
                    ex = Expression(self.ds, self.ds.virtual_columns[node])
                    return [node, None, None, [ex._graph()]]
                else:
                    return node
            else:
                fname, node_repr, deps = node
                if len(node_repr) > 30:  # clip too long expressions
                    node_repr = node_repr[:26] + ' ....'
                deps = [walk(dep) for dep in deps]
                obj = self.ds.functions.get(fname)
                # we don't want the wrapper, we want the underlying object
                if isinstance(obj, Function):
                    obj = obj.f
                if isinstance(obj, FunctionSerializablePickle):
                    obj = obj.f
                return [node_repr, fname, obj, deps]
        return walk(expresso._graph(expression))
def _graph(self):
        """"Return a graph containing the dependencies of this expression
        Structure is:
            [<string expression>, <function name if callable>, <function object if callable>, [subgraph/dependencies, ....]]
        """
        expression = self.expression

        def walk(node):
            if isinstance(node, six.string_types):
                if node in self.ds.virtual_columns:
                    ex = Expression(self.ds, self.ds.virtual_columns[node])
                    return [node, None, None, [ex._graph()]]
                else:
                    return node
            else:
                fname, node_repr, deps = node
                if len(node_repr) > 30:  # clip too long expressions
                    node_repr = node_repr[:26] + ' ....'
                deps = [walk(dep) for dep in deps]
                obj = self.ds.functions.get(fname)
                # we don't want the wrapper, we want the underlying object
                if isinstance(obj, Function):
                    obj = obj.f
                if isinstance(obj, FunctionSerializablePickle):
                    obj = obj.f
                return [node_repr, fname, obj, deps]
        return walk(expresso._graph(expression))
def _graph ( self ) : expression = self . expression def walk ( node ) : if isinstance ( node , six . string_types ) : if node in self . ds . virtual_columns : ex = Expression ( self . ds , self . ds . virtual_columns [ node ] ) return [ node , None , None , [ ex . _graph ( ) ] ] else : return node else : fname , node_repr , deps = node if len ( node_repr ) > 30 : # clip too long expressions node_repr = node_repr [ : 26 ] + ' ....' deps = [ walk ( dep ) for dep in deps ] obj = self . ds . functions . get ( fname ) # we don't want the wrapper, we want the underlying object if isinstance ( obj , Function ) : obj = obj . f if isinstance ( obj , FunctionSerializablePickle ) : obj = obj . f return [ node_repr , fname , obj , deps ] return walk ( expresso . _graph ( expression ) )
Return a graph containing the dependencies of this expression
        Structure is:
            [<string expression>, <function name if callable>, <function object if callable>, [subgraph/dependencies, ....]]
Return a graph containing the dependencies of this expression Structure is : [ <string expression > <function name if callable > <function object if callable > [ subgraph / dependencies .... ]]