code: function(query, rootData, scopeData, scopePath) {
      var pQuery = this.QueryParser.parseQuery(query);
      if(pQuery.assertion) throw new this.SpahQLRunTimeError("Cannot call SpahQL.select() with an assertion query.");
      return new this(this.QueryRunner.select(pQuery, rootData, scopeData, scopePath));
    }
docs: SpahQL.select(query, rootData[,scopeData][,path]) -> SpahQL
  - query (String): A valid SpahQL query. This may not be an assertion query.
  - rootData (Object, Array): The root data context being queried.
  - scopeData (Object, Array): The actual data context being queried, which should be a sub-context of the rootData.
  - scopePath (String): Optional: If the data being queried is a member item of a larger queryable data construct, providing the path
  for the queryable object will ensure that results are generated with an accurate path attribute.
  
  Executes a query against the given data construct and retrieves all objects that match the supplied query.