Open RobLBaker opened 1 month ago
Ok, I think maybe I solved my problem. Does the diagram mean that an EML document can only describe a dataset OR a citation OR software OR a protocol, but not both a dataset and a protocol?
Assuming that is correct, is there a specific location that a published protocol describing data collection for a dataset should reside? would it be (potentially one of many) referencePublication? Or a citation within a methodStep in the methods?
an EML document can only describe a dataset OR a citation OR software OR a protocol, but not both a dataset and a protocol?
That's my understanding. Like you suggest I think there are multiple valid ways but the methodStep seems natural for the kind of relationship I think you have here? @mbjones may be able to provide much better insight here on the recommended way to link them.
Yes, the model enforces that an EML document can only describe one resource at a time (and which is what is being described by the EML document and its packageId
). But, if a protocol applies to a dataset, then that can be described in the dataset/methods
section which is repeatable, and supports multiple methodStep
children, and a hierarchy of methods substeps. See: https://eml.ecoinformatics.org/schema/eml-dataset_xsd.html#DatasetType_methods
For example:
/eml/dataset
├── methods
│ └── methodStep
├── methods
│ ├── methodStep
│ └── methodStep
│ └── subStep
└── methods
I hope this is the correct place to put this. I'm trying to add the
protocol
element to EML and it's causingEML::eml_validate()
to produce errors. I can't for the life of me see where the error is, according to the documentation models (see image below). Perhaps if someone could point me to an example of valid EML with a protocol that would help, but I haven't found any yet (i.e. 95% chance this is me missing something simple).My questions are:
eml_validate()
function and/or the schema behind it have an error regardingprotocol
?protocol
?minimally valid EML with just the
protocol
element (so the problem isn't the protocol element itself):minimally valid EML a
dataset
element (so the dataset component is not the problem):But if I put
dataset
andprotocol
together in a single document the EML is invalid:Specifically, I get the error:
From what I can tell, neither
annotations
noradditionalMetadata
are required elements. Furthermore, when I do haveadditionalMetadata
elements, I get this same error. If I remove theprotocol
element and have just thedataset
andadditionalMetadata
elements, the EML is valid (so there is no problem with theadditionalMetadata
- I'm just not including those examples here for the sake of brevity).