uwescience / raco

Compilation and rule-based optimization framework for relational algebra. Raco is the language, optimization, and query translation layer for the Myria project.
Other
72 stars 19 forks source link

Write datalog programs #552

Open wangk7 opened 7 years ago

wangk7 commented 7 years ago

Hi, I'm new raco user. Can I write datalog programs under raco?

I tried to write datalog programs and get logical plan by using Myria Demo Service. It worked for simple datalog queries, for example, "A(x,z) :- R(x,y), R(y,z)". But when I was trying "CC(x,$Min(z)) :- CC(x,z), Edges(x,z) " or "TC(x,z) :- TC(x,y), Edges(y,z)", there were some exceptions. It seems the same predicate can not be in both head and body? I'm wondering how should I write datalog programs under raco?

Thank you.

senderista commented 7 years ago

@jingjingwang could you comment?

jingjingwang commented 7 years ago

I'm afraid that I can't comment on the Datalog code path, I'm not sure if @billhowe or @shrjain has some insights on this issue? However once #545 is merged, you will be able to write something similar in MyriaL.