docs: def _purge_datasets_unique_to_resource(ref_key, ref_id):
      """
          Find the number of times a a resource and dataset combination
          occurs. If this equals the number of times the dataset appears, then
          we can say this dataset is unique to this resource, therefore it can be deleted
      """
      count_qry = db.DBSession.query(ResourceScenario.dataset_id,
                                     func.count(ResourceScenario.dataset_id)).group_by(
                                         ResourceScenario.dataset_id).filter(
                                         ResourceScenario.resource_attr_id==ResourceAttr.id)
  
      if ref_key == 'NODE':
          count_qry.filter(ResourceAttr.node_id==ref_id)
      elif ref_key == 'LINK':
          count_qry.filter(ResourceAttr.link_id==ref_id)
      elif ref_key == 'GROUP':
          count_qry.filter(ResourceAttr.group_id==ref_id)
  
      count_rs = count_qry.all()
  
      for dataset_id, count in count_rs:
          full_dataset_count = db.DBSession.query(ResourceScenario).filter(ResourceScenario.dataset_id==dataset_id).count()
          if full_dataset_count == count:
              """First delete all the resource scenarios"""
              datasets_rs_to_delete = db.DBSession.query(ResourceScenario).filter(ResourceScenario.dataset_id==dataset_id).all()
              for dataset_rs in datasets_rs_to_delete:
                  db.DBSession.delete(dataset_rs)
  
              """Then delete all the datasets"""
              dataset_to_delete = db.DBSession.query(Dataset).filter(Dataset.id==dataset_id).one()
              log.info("Deleting %s dataset %s (%s)", ref_key, dataset_to_delete.name, dataset_to_delete.id)
              db.DBSession.delete(dataset_to_delete)