But I see so many of these articles/blog posts where people claim to be implementing Datalog but are just implementing a form of relational algebra. This apparently just begets further confusion and misinformation.
This is like seeing an article about how to implement context free parsing and finding one about implementing regular expressions with DFAs.
Is it really too much to ask for people to do basic fact checking before publishing? Or with the age of generative AI are we giving up on that?
I doubt this has anything to do with generative AI, unless it was written by GPT3 and if so it did a great job. GPT4 would be released over a year after this was released.
Here are three accurate and sound Datalog implementations: 1: https://github.com/ekzhang/crepe 2: https://github.com/s-arash/ascent 3: https://github.com/brurucy/micro-datalog
I didn't know this had nothing to do with Datalog - just extremely annoying (and not your fault) that we are 7 comments deep.
I think we called it C&C back in the day, constructive criticism. Just was missing the constructive part.
I wrote about a particular flavor of datalog, in common use today. [1] [2]. The earliest representation I know which matches the syntax of my essay, was in SICP [3]
There's another, more academic form of datalog which looks a lot like prolog. There's lots of similarities and [2] mentions them.
[1] https://github.com/tonsky/datascript [2] https://docs.datomic.com/pro/query/query.html [3] https://sarabander.github.io/sicp/html/4_002e4.xhtml
Both Datascript and Datomic support recursion. In SICP it too talks about how rules can be defined recursively.
If there is no recursion, then it's just SQL without negation.
What makes it Datalog is the recursive part.
Plus, the "triples" part of what you call "Datalog", as it is explained on Datomic's documentation, is nothing related to Datalog at all. It's just a convenient format to ensure that all data is in a RDF-inspired format. Semantics aside, it makes it easier to build indexes and for it to be performant, compared to multi-relation unbounded-arity Datalog.