code: def applies(self, dataset):
          
          if isinstance(self.dimension, dim):
              applies = self.dimension.applies(dataset)
          else:
              applies = dataset.get_dimension(self.dimension) is not None
              if isinstance(dataset, Graph) and not applies:
                  applies = dataset.nodes.get_dimension(self.dimension) is not None
          for op in self.ops:
              args = op.get('args')
              if not args:
                  continue
              for arg in args:
                  if isinstance(arg, dim):
                      applies &= arg.applies(dataset)
          return applies
docs: Determines whether the dim transform can be applied to the
          Dataset, i.e. whether all referenced dimensions can be
          resolved.