docs: def run(args):
      """
      Args:
          args (argparse.Namespace)
      """
  
      with warnings.catch_warnings():
          warnings.simplefilter('ignore')
  
          query = prepareQuery(args.query_file.read())
          ds = Dataset()
  
          res_indices_prev = set()  # de-duplication
          res_indices = set()
  
          # create sub graphs
          for f in args.graphs:
              g = Graph(identifier=os.path.basename(f.name))
              g.parse(data=f.read(), format='n3')
              ds.add_graph(g)
  
          # create and query data graph
          for data in read_by_chunk(args.input_file, int(args.chunk_size)):
              g = Graph(identifier='data')
              g.parse(data=data, format=args.input_type)
              ds.add_graph(g)
              res = ds.query(query)
  
              dedup_res_graph = Graph()
              if len(res) != 0:
                  for r in res:
                      tid = generate_index(r)
                      res_indices.add(tid)
                      if tid in res_indices_prev:  # duplicated
                          continue
                      dedup_res_graph.add(r)
  
                  if len(dedup_res_graph) > 0:
                      ret = dedup_res_graph.serialize(format=args.output_type, encoding='utf-8')
                      args.output_file.write(ret)
  
              ds.remove_graph(g)
              res_indices_prev = res_indices
              res_indices = set()