Controlling instruments with FAIR software #25
Replies: 5 comments 5 replies
|
Together with @ml-evs and @adamreupert we have discussed how an uploader from something-like-tomato to something-like-datalab and something-like-kadi4mat could work: Goal:Given a ROcrate that defines:
attach the files enumerated by the Recommendations:
Profile:The below definitions are based on the RO-crate 1.1 release. RO-crates implementing this "profile" MUST indicate it as such using Nouns
Actions
Rationale
Things (Currently) Out Of Scope
|
Possible example (from memory) of an RO-Crate that an ELN could receive and take to mean "I need to make an entry in my ELN [of some kind] that has the uploaded files attached to them".{
"@context": [
"https://w3id.org/ro/crate/1.1/context",
{
"@vocab": "http://schema.org/"
}
],
"@graph": [
{
"@id": "./",
"@type": "Dataset",
"name": "An example crate that should be interpreted by an ELN as \"ingest these data files as if they belong to the existing sample with ID <ABCDEF>\" and \"give write permission to existing user with ID <https://orcid.org/0000-0002-1182-9098>\"",
"author": {
"@id": "https://orcid.org/0000-0002-1182-9098"
},
"hasPart": {
"@id": "measurement.h5"
},
"conformsTo": {
"@id": "https://github.com/MADICES/MADICES-2025/discussions/25"
},
"potentialAction": {
"@id": "#6"
},
"hasDigitalDocumentPermission": {
"@id": "#7"
}
},
{
"@id": "https://orcid.org/0000-0002-1182-9098",
"@type": "Person",
"name": "M Evans"
},
{
"@id": "measurement.h5",
"@type": "File",
"contentSize": "111222333",
"name": "The measurement recorded on the sample as an HDF5 file"
},
{
"@id": "ro-crate-metadata.json",
"@type": "CreativeWork",
"identifier": "ro-crate-metadata.json",
"about": {
"@id": "./"
}
},
{
"@id": "https://github.com/MADICES/MADICES-2025/discussions/25",
"@type": "Profile",
"version": "0.1",
"name": "This RO-crate conforms to the MADICES 2025 proposed dataset action profile."
},
{
"@id": "ABCDEF",
"@type": "RepositoryObject",
"name": "The existing ABCDEF sample that these measurements pertain to"
},
{
"@id": "#6",
"@type": "UpdateAction",
"name": "The type of action that the ELN should interpret as the task to perform, in this case, update the existing entry",
"target": {
"@id": "ABCDEF"
},
"object": {
"@id": "./"
}
},
{
"@id": "#7",
"@type": "DigitalDocumentPermission",
"name": "The grantee should be granted the following permissions over the object by the ELN",
"grantee": {
"@id": "https://orcid.org/0000-0002-1182-9098"
},
"permissionType": "WritePermission"
}
]
} |
|
After some very helpful discussions today (mainly with Abigail Miller, Andreas Meier, Juan Fuentes, Burkhard Schäfer), it is clear that RO-crate is meant to be used in a descriptive way as opposed to a prescriptive way; i.e. the RO-crate should describe the end state as opposed to give instructions on how to do it. Compatibility with RO-crate schema plusThe terms and definitions used below are parts of the RO-crate 1.1 definition, therefore they are compatible with RO-crate schema plus. However, openBIS currently expects the exact ProfileThe below definitions are based on the RO-crate 1.1 release. RO-crates implementing this "profile" MUST indicate it as such using The
|
A note on "interoperability profiles"This came out of a discussion between @edan-bainglass, myself and Andreas Meier. Neither the RO-crate 1.1 standard nor the RO-crate schema plus proposal currently define what the platform ( One option is that every Another option is to move towards "interoperability profiles", think HDMI 1.4 vs HDMI 2.0, or the various USB profiles. This would mean a definition of a "strict" profile (i.e. In my personal opinion, the latter option was what MADICES should be about. |
|
Just some extra thoughts regarding how strict is RO-Crate plus as mentioned by @PeterKraus What is a correct RO-Crate plus Package?
What is the correct behavior of a system using RO-Crate plus?
Do they want exactly equal types? Are they happy just matching semantics? From the point of the specification I'm towards indicating explicitly that the spec doesn't impose a particular behaviors when ingesting a package. This should allow systems ingesting the packages to do what is best for them. |

Uh oh!
There was an error while loading. Please reload this page.
Working group notes building on #8
All reactions