docs: def _convert_results(self, data, **kwargs):
          """ converts the results of a query to RdfDatatype instances
  
              args:
                  data: a list of triples
          """
  
          if kwargs.get("multiprocessing", False):
              m = mp.Manager()
              output = m.Queue()
              pdb.set_trace()
              # processes = [mp.Process(target=convert_row_main,
              #                         args=(row, output,))
              #              for row in data]
              # # Run processes
              # for p in processes:
              #     p.start()
  
              # # Exit the completed processes
              # for p in processes:
              #     p.join()
              # # Get process results from the output queue
              # return [output.get() for p in processes]
  
              pool = mp.Pool(processes=pool_size)
              for i, row in enumerate(data):
                  for key, val in row.items():
                      try:
                          pool.apply(convert_row_main, args=(val, i, key, output,))
                      except:
                          pass #
              # run = [pool.apply(convert_row_main, args=(row, i, output))
              #        for i, row in enumerate(data)]
              for item in output:
                  pdb.set_trace()
              return output
              # with multiprocessing.Pool(processes=pool_size) as pool:
              #     results = [convert_row_main, (row,))
              #                for row in data]
              #     converted = [r.get() for r in results]
              # return converted #pool_outputs
          else:
              return [{key:pyrdf(value) for key, value in row.items()}
                      for row in data]