Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LabProtocol conflates an abstract protocol and an execution of that protocol #677

Open
multimeric opened this issue Oct 1, 2024 · 4 comments

Comments

@multimeric
Copy link

LabProtocol is built on HowTo, which I think is a good choice. Notably, HowTo does not describe an action that has happened, but rather a recipe or procedure by which something might happen. However, this model is broken by protocolOutcome, which points to an actual file that has been produced as a result of running the protocol.

In an ideal world, I would like CreateAction to have a field like following: HowTo so that we can keep LabProtocol abstract but have CreateAction be a concrete application of that protocol. It doesn't have such a field, but there are other ways to represent this using something like PROV.

@multimeric
Copy link
Author

The fact that LabProcess is explicitly defined as the execution of a LabProtocol supports this change, I think.

@marco-brandizi
Copy link

I think this is related to #675. From the discussion in there, my understanding is that properties like protocolOutcome are intended to describe the kind of outcome, not for the outcome of a specific protocol execution.

Moreover, yes, LabProcess, currently under drafts, introduces the separation between protocol as plan an protocol as the execution of a plan.

As for the link between the two, the LabProcess draft introduces the property executesLabProtocol. While I understand the need for a specific property here, at the upper level, being LabProtocol a subclass of schema:CreativeWork, that link could be stated via schema:about, or ^schema:subjectOf.

@multimeric
Copy link
Author

I guess it might make sense to describe the abstract outcome, but I don't think it should be a CreativeWork, since that's concrete.

@marco-brandizi
Copy link

If protocolOutcome is intended as something like "the output of this is a treated sample", then it makes sense that its value is either a text or a subclass of CreativeWork.

Then, LabProcess will use result to link an actual, concrete output for a protocol execution, and such output is related to the protocolOutcome value as LabProcess is related to LabProtocol. That is, for both, we have the generic description level and the instantiation level, same as "Tesla Model T" and this "Tesla Model T, with number plate 123".

So, this part of modelling protocols and executions is fine to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants