query(callback) {

    let query = this.Model.query().safeWhere(this.joins[this.identifier]);

    Object.keys(this.joins).forEach(joinName => {

      let joinNames = joinName.split('__');
      joinNames.shift();
      if (!joinNames.length) {
        return;
      }

      query = query.safeJoin(joinNames.join('__'), this.joins[joinName]);

    });

    query.end((err, models) => {

      callback(err, models, this.structure[this.identifier]);

    });

    return this;

  }
Query the GraphQuery object from the database
@param {Function} callback The function to execute upon completion