def populate(self):
        """Populates a new cache.

        """
        if self.exists:
            raise CacheAlreadyExistsException('location: %s' % self.cache_uri)

        self._populate_setup()

        self.graph.open(self.cache_uri, create=True)
        with closing(self.graph):
            with self._download_metadata_archive() as metadata_archive:
                for fact in self._iter_metadata_triples(metadata_archive):
                    self.graph.add(fact)
dataset/ETHPy150Open c-w/Gutenberg/gutenberg/acquire/metadata.py/MetadataCache.populate/original