code: function (callback) {
        return $($.map(this.matches, function (match, i) {
          // in the callback, "this" is the bindings, and the arguments are swapped from $.map()
          return callback.call(match.bindings, i, match.bindings, match.triples);
        }));
      }
docs: Iterates over the matches held by the {@link jQuery.rdf} object and creates a new {@link jQuery} object that holds the result of applying the passed function to each one. This mirrors the <a href="http://docs.jquery.com/Traversing/map">jQuery#map</a> method.
  @param {Function} callback A function that is called for each match on the {@link jQuery.rdf} object. Within the function, <code>this</code> is set to the object representing the variable bindings. The function can take up to three parameters and should return some kind of value:
  <dl>
  <dt>i</dt><dd>The index of the match amongst the other matches.</dd>
  <dt>bindings</dt><dd>An object representing the variable bindings for the match, the same as <code>this</code>.</dd>
  <dt>triples</dt><dd>An array of {@link jQuery.rdf.triple}s associated with the particular match.</dd>
  </dl>
  @returns {jQuery} A jQuery object holding the results of the function for each of the matches on the original {@link jQuery.rdf} object.
  @example
  var photos = $('html').rdf()
  .where('?photo dc:creator ?creator')
  .where('?creator foaf:img ?photo')
  .map(function () {
  return this.photo.value;
  });