def _toedn(self):
    """ prepare the query for the rest api
    """
    finds  = u""
    inputs = u""
    wheres = u""
    args   = []
    ": in and args"
    for a,b in self._input:
      inputs += " {0}".format(a)
      args.append(dump_edn_val(b))
    if inputs:
      inputs = u":in ${0}".format(inputs)
    " :where "
    for where in self._where:
      if isinstance(where, (str,unicode)): 
        wheres += u"[{0}]".format(where)
      elif isinstance(where, (list)):
        wheres += u" ".join([u"[{0}]".format(w) for w in where])
    " find: "
    if self._find == []: #find all
      fs = set()
      for p in wheres.replace('[',' ').replace(']',' ').split(' '):
        if p.startswith('?'):
          fs.add(p)
      self._find = list(fs)
    finds = " ".join(self._find)
    " all togethr now..."
    q = u"""[ :find {0} {1} :where {2} ]""".\
        format( finds, inputs, wheres)
    return q,args
prepare the query for the rest api