5 ms·
Datalog is awesome as is Logic Programming generally. It's not only useful in static program analysis but also in areas as diverse as synthetic biology and data
by kendallgclark 8y ago
Datalog is awesome as is Logic Programming generally. It's not only useful in static program analysis but also in areas as diverse as synthetic biology and data integration.
There's lots of datalog and similar technology in most Knowledge Graph platforms, too. For example, http://stardog.com/ http://stardog.com/.
- trurl 8y agoI don't see anywhere that mentions datalog in relationship to Stardog. I see OWL2 and SparQL, which as far as I can tell do not support recursion other than in experimental prototypes. If there is no recursion, it is just conjunctive queries and not datalog.
- mmarx 8y ago> If there is no recursion, it is just conjunctive queries and not datalog. SPARQL has negation (FILTER NOT EXISTS), though, making query answering PSpace-hard, whereas conjunctive query answering is NP-complete, so the two are very much not the same, although still less expressive then Datalog (which is ExpTime-complete). CQ answering for the Horn fragment of OWL2 is already 2ExpTime-complete, however, making it vastly more expressive than pure Datalog.
- kendallgclark 8y agoIt supports SWRL, a LP rule language that has a well-studied relationship with Datalog. FWIW.