DataONEorg / sem-prov-design

Design documents for the Semantics and Provenance Working Group, DataONE Phase II
Apache License 2.0
5 stars 3 forks source link

Evaluate use of 'wasRevisionOf' with ITK tools #240

Open gothub opened 6 years ago

gothub commented 6 years ago

The DataONE R Client and MetacatUI now support storing ProvONE relationships in resource maps.

The use of the WC3 PROV wasRevisionOf relationship has been mentioned in passing over the last couple of months as provenance data has been added to packages on ADC and KNB.

A couple of questions for discussion:

amoeba commented 6 years ago

What is "ITK tools"?

gothub commented 6 years ago

"Investigator TookKit" maybe isn't the best way to describe all the DataONE client tools that read and update prov data, but included in that list would be

amoeba commented 6 years ago

Ah, cool. It was just the first time I'd seen the acronym. Quick thoughts:

This would be great to have!

How would this relationship be used and what types of objects would it be applied to?

The common, and important, case from the ADC is where a scientist submits an Excel file that needs a lot of love, the Data Team gives it love in the form of (1) splitting each worksheet into multiple CSV files (2) removing non-data (2) changing the shape. This type of work nicely fits within the wasRevisionOf definition. Maybe there are more use cases.

So in this case, we'd see one or more DATA Objects with wasRevisionOf relationships to a single DATA Object. Many to many also seems possible, though not common.

If I get picky obsoletes/obsoletedBy actually confer the wrong semantics (not useful, no longer in use). So I could totally see using this, or other PROV triples, between metadata and resource map chains (wasRevisionOf).

What is the benefit of maintaining these relationships over the D1 obsolescence chain?

Good question to ask in this phase. Obsolescence is (1) technically easier and (2) still links the two files together so it's not all bad to just keep with the status quo. Under our current UI in MetacatUI's MetadataView, since we don't show previous versions of data Objects, adding wasRevisionOf would give us a good reason to add in this linkage in a visual way. It would also be better because it is more specific.