13 ms·
This takes queries written in datalog (or Sparql) and compiles them to Bash (using sort, awk etc.) so you can run them on CSV files.
by polm23 8y ago
This takes queries written in datalog (or Sparql) and compiles them to Bash (using sort, awk etc.) so you can run them on CSV files.
- rajiv_abraham 8y agoI saw this paper just yesterday from another source. This is brilliant in it's simplicity and the performance is pretty impressive. I hope to write something like this in Julia. Wondering if I'm missing something but the example is fact(X, R, Y) :∼ cat facts.tsv locatedIn(X, Y) :- fact(X, "locatedIn", Y). locatedIn(X, Y) :- locatedIn(X, Z), fact(Z, "locatedIn", Y). main(X) :- locatedIn(X, "USA") I think line 3 could just be locatedIn(X, Y) :- locatedIn(X, Z), locatedIn(Z,Y). unless I'm missing something.
- dragonwriter 8y ago> I think line 3 could just be locatedIn(X, Y) :- locatedIn(X, Z), locatedIn(Z,Y). This creates potential infinite recursion, which is why the other form is used.
- rajiv_abraham 8y agoThanks :)
- shele 8y agoWelcome, your arrival is not unexpected: https://news.ycombinator.com/item?id=17970854 https://news.ycombinator.com/item?id=17970854
- rajiv_abraham 8y agohaha. will update if I have anything worthwhile.