isamplesorg/metadata

Unimplemented methods in SESAR metadata transformer

Opened this issue · 2 comments

The following methods are currently unimplemented in SESAR and need further definition:

I suspect this one we just want to take any unused field and throw it in here as a catch-all the way we did for other collections. That evolved after I implemented SESAR as this was the first one I did.

    def sample_description(self) -> typing.AnyStr:
        # TODO: implement
        return Transformer.NOT_PROVIDED

Keywords is an interesting one in all the transformers, I'm not sure I understand the purpose of the field, but it doesn't seem right here

    def keywords(self) -> typing.List:
        # TODO: implement
        return [self._source_record_description()["sampleType"]]
    def produced_by_id_string(self) -> typing.AnyStr:
        # TODO: this is present for GEOME, does anything make sense for SESAR?
        return ""
    def sample_sampling_purpose(self) -> typing.AnyStr:
        # TODO: implement
        return ""
    def sampling_site_label(self) -> typing.AnyStr:
        # TODO: implement
        return Transformer.NOT_PROVIDED

This one, just confirmation that we don't have a mapping for SESAR would be good. It wasn't present but was added for the more Biology-focused collections

    def informal_classification(self) -> typing.List[typing.AnyStr]:
         """Not currently used for SESAR"""
         return Transformer.NOT_PROVIDED

Once we have documentation on how to implement, please assign back to me for implementation. If we decide that these fields aren't relevant, that is good to know, too, as I'll add comments to the code that indicates this.

I went and double checked on the description field, per discussion in the iSamples tech call, and it looked like the example records had description set to empty as well, so I think we just need to decide what we want to put in there.

SESAR responses below. May need a bit more context on some of these terms in order to make a final decision on mapping.

I suspect this one we just want to take any unused field and throw it in here as a catch-all the way we did for other collections. That evolved after I implemented SESAR as this was the first one I did.

We have two fields, 'Sample Description' and 'Comment'. 'Sample Description is used to describe the sample itself while 'Comment' contains information pertaining to the sample. Depending on the definitions of these terms below, we may wish to put some in the 'Comment' field instead.

Keywords is an interesting one in all the transformers, I'm not sure I understand the purpose of the field, but it doesn't seem right here

I would suggest putting keywords into the 'Comments' field if they are general terms and not just applicable to the sample itself. More context is needed though to make a final decision.

def produced_by_id_string(self) -> typing.AnyStr:
# TODO: this is present for GEOME, does anything make sense for SESAR?
return ""

Is this referring to the equipment used to create the sample or the individual who created the sample? I assume the former but we have fields for both to an extent. 'Collection Method' or 'Collection Method Description' vs 'Collector/Chief Scientist'.

def sampling_site_label(self) -> typing.AnyStr:
    # TODO: implement

Is this about location or where the label is placed on the specimen?

def informal_classification(self) -> typing.List[typing.AnyStr]:

SESAR has a field called 'Field Name (informal classification)' that may map to this.