-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
cwlprov:relationship sketch #2
Comments
As this is a relationship to be generated between values of JSON-LD with $expansions cwlprov:relationship:
{ "@id": "$second_output",
"prov:wasDerivedFrom": "$first_output" } Or if we assume the current port is the subject and you can't do arbitrary structures you can just have property-object references (no literals in this case): cwlprov:relationship: {
"prov:wasDerivedFrom": "$first_output",
"example:foo": "edam:topic_0091",
} Namespaces like If we have: { "first_output": {
"@id": "urn:uuid:a1626deb-a5a8-4b84-803e-8dd51f80bf2d"
},
"second_output": {
"@id": "urn:uuid:6e076c8b-d3fe-47f0-844b-b0e1561d3181"
}
} Then with expansion of namespaces and { "first_output": {
"@id": "urn:uuid:a1626deb-a5a8-4b84-803e-8dd51f80bf2d"
},
"second_output": {
"@id": "urn:uuid:6e076c8b-d3fe-47f0-844b-b0e1561d3181",
"http://www.w3.org/ns/prov#wasDerivedFrom": {
"@id": "urn:uuid:a1626deb-a5a8-4b84-803e-8dd51f80bf2d"
},
"http://example.com/foo": {
"@id": "http://edamontology.org/topic_0091"
}
}
} [ updated by @mr-c to add missing commas, make the UUIDs unique ] |
@stain Thank you for the json-ld example. I've updated my sketch to show that we might want to set relationships between an output and another output and also an input |
OK, in 036af7c78a3e1c5125009ae05dbdb853afca6790 I try to sketch out how this can be recorded as templates in the CWL, and then add these to the PROV. There is an issue in what to call these (here But this leads to fairly misleading information in (this is like saying Stian is a specialisation of CustomerOfTesco because I went shopping at Tesco once) See also PROV-Template which would use a special |
Here are some of the mappings we should be able to do https://gist.github.com/stain/f0b0d966a103b1533d684aa6d7197364 The data concepts are often more complex expressions than pure typing from EDAM ontology or BioSchemas - so it might be we need to support more than 1 triple-level expressions as explored here and in #1. |
Together with #1 this attempts to find a way to pre-define domain-specific provenance that would be generated at workflow run time. The idea is define a set of relationships that will be added onto the produced outputs of a step to relate it to other data values or concepts at creation time.
These can use domain-specific ontologies like EDAM ontology or BioSchemas, or more generic ones likes PROV or schema.org
The text was updated successfully, but these errors were encountered: