3 ms·
Datalog is a subset of Prolog syntax and logical semantics, but not of its operational semantics, so in practice the link is tenuous. I like the honest words o
by cgrand-net 8y ago
Datalog is a subset of Prolog syntax and logical semantics, but not of its operational semantics, so in practice the link is tenuous.
I like the honest words of Serge Abiteboul (co-author of Foundations of Databases http://webdam.inria.fr/Alice/ http://webdam.inria.fr/Alice/) on this topic:
This is back to the advantages of “declarative programming”. The first scam was Prolog: The language is not really declarative. The second scam was Datalog: It is declarative, but there is not much you can do with it.
Datalog is simple and beautiful – Horn clauses. We theory guys had a ball with it. There were beautiful results to obtain even at the cost of further simplifications (e.g., monadic to be able to decide containment). But the scam is that if you want to do anything serious beyond your stupid positive first-order queries, you need more.
There was no fix that I know of for Prolog. There were fixes for Datalog. Extend the language. And this was done during the last 30 years
(http://abiteboul.blogspot.com/2012/08/datalog-revival-for-database-geeks-only.html http://abiteboul.blogspot.com/2012/08/datalog-revival-for-da...)
- YeGoblynQueenne 8y ago>> The first scam was Prolog: The language is not really declarative. The language is not fully declarative. It's something like 90% declarative, but that is not enough to satisfy the purists, who demand 100% purity, or else! ... or else they will stick to their C++'s and their Javas and SQLs, that are, oh, about 0.01% declarative. Because that makes sense, right? If you can't have a perfectly, purely declarative language, throw out the baby with the bathwater and go back to your purely imperative languages. That kind of criticism has never made any sense and it doesn't make sense now. >> But the scam is that if you want to do anything serious beyond your stupid positive first-order queries, you need more. You can't do anything serious with Datalog? Sure you can- you can do machine learning with Datalog: https://github.com/metagol/metagol https://github.com/metagol/metagol
- cgrand-net 8y ago>> Sure you can The author spent decades on Datalog and when he says Datalog he talks about the core Datalog not even Datalog¬, he is just stating that the core Datalog is a wonderful seed for building actual applications by extending it.