Comments (5)
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.
from differential-datalog.
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
from differential-datalog.
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!
from differential-datalog.
This is certainly something we'd like to do, but at this point no one is working on this topic.
from differential-datalog.
Soufflé has done some other relevant work on this recently
from differential-datalog.
Related Issues (20)
- Use the DD upsert operator instead of maintaining input state in DDlog.
- sql-ddlog feature request: support WHERE IN <subquery>
- souffle's ord() is different from ddlog HOT 4
- Anchors inside profile
- SQL to DDlog compiler cannot compile when queries have windows, joins, aliases
- Java DDlogAPI can't compile in different directory HOT 3
- SQL to DDlog compiler cannot compile JOINs with aliases with the same name as the original identifier
- Unknown variable in Negations statement HOT 5
- (Question) Iterating over vector elements in the body of a rule HOT 3
- Stopped instance should return a meaningful error message [was: Error when trying to delete a relation]. HOT 5
- Dev dependencies in prod release HOT 2
- Type constraints for right-hand operand of shift operators HOT 3
- `ddlog -o` option has weird behavior HOT 2
- Why I cant find test/datalog_tests/redist.dl and ddlog.h HOT 1
- Is there any API to dump the size of a relation rather than the whole content? HOT 3
- How to use the self-profiler API? HOT 5
- Tutorial example generates lots of noisy Rust warnings HOT 3
- Benchmark dataset avaliable? HOT 2
- Create release of the CLI tools
- Where can I find information about profiler help? HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from differential-datalog.