def run(self):
        with self.input()[0] as i:
            coll = i.collection

            map = Code("""
                    function(){
                        emit(this.node, 1);
                    }
            """)

            reduce = Code("""
                function(key, values){
                    var total = 0;
                    for(var i = 0; i < values.length; i++){
                        total += values[i];
                    }
                    return total;
                }
            """)

            reduce = coll.map_reduce(map, reduce, self.collection.value)

            all = len(self.graphs)

            reduce.update({}, {'$mul': {'value': 1 / all}})