def _add_text_ngrams(self, witness, minimum, maximum):
        """Adds n-gram data from `witness` to the data store.

        :param witness: witness to get n-grams from
        :type witness: `WitnessText`
        :param minimum: minimum n-gram size
        :type minimum: `int`
        :param maximum: maximum n-gram size
        :type maximum: `int`

        """
        text_id = self._get_text_id(witness)
        self._logger.info('Adding n-grams ({} <= n <= {}) for {}'.format(
            minimum, maximum, witness.get_filename()))
        skip_sizes = []
        for size in range(minimum, maximum + 1):
            if self._has_ngrams(text_id, size):
                self._logger.info(
                    '{}-grams are already in the database'.format(size))
                skip_sizes.append(size)
        for size, ngrams in witness.get_ngrams(minimum, maximum, skip_sizes):
            self._add_text_size_ngrams(text_id, size, ngrams)
Adds n-gram data from `witness` to the data store.

        :param witness: witness to get n-grams from
        :type witness: `WitnessText`
        :param minimum: minimum n-gram size
        :type minimum: `int`
        :param maximum: maximum n-gram size
        :type maximum: `int`