def _update_metadata(
        cls,
        metadata: metadata_base.DataMetadata,
        resource_id: metadata_base.SelectorSegment,
    ) -> metadata_base.DataMetadata:
        resource_metadata = dict(metadata.query((resource_id, )))

        if "structural_type" not in resource_metadata or not issubclass(
                resource_metadata["structural_type"], container.DataFrame):
            raise TypeError(
                'The Dataset resource is not a DataFrame, but "{type}".'.
                format(type=resource_metadata.get("structural_type", None), ))

        resource_metadata.update(
            {
                "schema": metadata_base.CONTAINER_SCHEMA_VERSION,
            }, )

        new_metadata = metadata_base.DataMetadata(resource_metadata)

        new_metadata = metadata.copy_to(new_metadata, (resource_id, ))

        # Resource is not anymore an entry point.
        new_metadata = new_metadata.remove_semantic_type(
            (),
            "https://metadata.datadrivendiscovery.org/types/DatasetEntryPoint")

        return new_metadata
Пример #2
0
    def _update_metadata(
        self, metadata: metadata_base.DataMetadata,
        resource_id: metadata_base.SelectorSegment
    ) -> metadata_base.DataMetadata:
        resource_metadata = dict(metadata.query((resource_id, )))

        if 'structural_type' not in resource_metadata or not issubclass(
                resource_metadata['structural_type'], container.DataFrame):
            raise TypeError(
                "The Dataset resource is not a DataFrame, but \"{type}\".".
                format(type=resource_metadata.get('structural_type', None), ))

        resource_metadata.update(
            {
                'schema': metadata_base.CONTAINER_SCHEMA_VERSION,
            }, )

        new_metadata = metadata_base.DataMetadata(resource_metadata)

        new_metadata = metadata.copy_to(new_metadata, (resource_id, ))

        # Resource is not anymore an entry point.
        new_metadata = new_metadata.remove_semantic_type(
            (),
            'https://metadata.datadrivendiscovery.org/types/DatasetEntryPoint')

        return new_metadata