differential-datalog icon indicating copy to clipboard operation
differential-datalog copied to clipboard

Mechanism to track provenance of output records

Open ryzhyk opened this issue 5 years ago • 5 comments

ryzhyk avatar Sep 21 '18 22:09 ryzhyk

One way to do this is to add a provenance field to Value, but make it invisible to comparison operators, so that different derivations of the same Value look the same to differential. This way provenance won't change the semantics of DDlog, but we will only observe one derivation of each value.

ryzhyk avatar Sep 26 '19 02:09 ryzhyk

I just want to mention the existence of prior art: https://github.com/frankmcsherry/explanation It is only for an ancient version of Differential Dataflow, but lessons learnt should be valuable

namibj avatar Jul 31 '20 18:07 namibj

One way to do this is to add a provenance field to Value, but make it invisible to comparison operators, so that different derivations of the same Value look the same to differential. This way provenance won't change the semantics of DDlog, but we will only observe one derivation of each value.

Indeed, this is a very intuitive method, but as you said, making this field invisible will actually make the provenance information partly missing if there existing multi-derivation rule.

I found that another datalog dialect, souffle’, already supports the provenance feature to help users with interactive debugging. Could you please share me whether there is any development plan for DDlog in this aspect? Therefore, users do not need to directly modify the DDlog code logic to get the support of provenance.

Thank you!

sdifv avatar Jun 04 '21 09:06 sdifv

This is certainly something we'd like to do, but at this point no one is working on this topic.

mihaibudiu avatar Jun 04 '21 16:06 mihaibudiu

Soufflé has done some other relevant work on this recently

Kixiron avatar Jun 05 '21 16:06 Kixiron