'Query data into DataFrames.
Returns a DataFrame for a single time series and a map for multiple
time series with the time series as value and its name as key.
:param time_precision: [Optional, default \'s\'] Either \'s\', \'m\', \'ms\'
or \'u\'.
:param chunked: [Optional, default=False] True if the data shall be
retrieved in chunks, False otherwise.'

def query(self, query, time_precision=u's', chunked=False):

    result = InfluxDBClient.query(self, query=query, time_precision=time_precision, chunked=chunked)
    if (len(result) == 0):
        return result
    elif (len(result) == 1):
        return self._to_dataframe(result[0], time_precision)
    else:
        ret = {}
        for time_series in result:
            ret[time_series[u'name']] = self._to_dataframe(time_series, time_precision)
        return ret
