LogicBlox
From HandWiki
Paradigms | Declarative, Logic programming |
---|---|
Family | Datalog |
Typing discipline | Static |
License | Commercial |
Website | logicblox |
Influenced by | |
Datalog |
The LogicBlox system is a commercial, declarative, incremental logic programming language and deductive database inspired by Datalog. The LogiQL programming language extends Datalog with several features, including stratified negation, aggregation, and a module system. LogicBlox has been used to build pointer analyses for Java.[1]
Features
- Stratified negation[2]
- Aggregate functions[3]
- Evaluation using a novel worst-case optimal join algorithm.[4][5]
- Data constructors
- Static typing[6]
- A module system
- Probabilistic programming features
- Incremental computation[7]
- Debugging with provenance[8][9]
References
Notes
- ↑ Antoniadis, Tony; Triantafyllou, Konstantinos; Smaragdakis, Yannis (2017-06-18). "Porting doop to Soufflé". Proceedings of the 6th ACM SIGPLAN International Workshop on State of the Art in Program Analysis. SOAP 2017. New York, NY, USA: Association for Computing Machinery. pp. 25–30. doi:10.1145/3088515.3088522. ISBN 978-1-4503-5072-3. https://doi.org/10.1145/3088515.3088522.
- ↑ "6.4. Negation - LogicBlox 3.10 Reference Manual". https://developer.logicblox.com/content/docs/core-reference/webhelp/formula-negation.html. "Additionally, negation is only allowed when the platform can determine a way to stratify all rules and constraints that use negation."
- ↑ "Chapter 7. Rules - LogicBlox 3.10 Reference Manual". https://developer.logicblox.com/content/docs/core-reference/webhelp/rules.html#rules-aggregation.
- ↑ Veldhuizen, Todd L. (2013-12-20). "Leapfrog Triejoin: a worst-case optimal join algorithm". arXiv:1210.0481 [cs.DB].
- ↑ Aberger, Christopher R.; Tu, Susan; Olukotun, Kunle; Ré, Christopher (May 2016). "Old techniques for new join algorithms: A case study in RDF processing". 2016 IEEE 32nd International Conference on Data Engineering Workshops (ICDEW). pp. 97–102. doi:10.1109/ICDEW.2016.7495625. ISBN 978-1-5090-2109-3. https://ieeexplore.ieee.org/document/7495625.
- ↑ Zook, David; Pasalic, Emir; Sarna-Starosta, Beata (2009). Gill, Andy; Swift, Terrance. eds (in en). Typed Datalog. Lecture Notes in Computer Science. 5418. Berlin, Heidelberg: Springer. 168–182. doi:10.1007/978-3-540-92995-6_12. ISBN 978-3-540-92995-6. https://link.springer.com/chapter/10.1007/978-3-540-92995-6_12. "Our type system has been implemented as a part of the LogicBlox development environment."
- ↑ Singh, Shikha; Madaminov, Sergey; Bender, Michael A.; Ferdman, Michael; Johnson, Ryan; Moseley, Benjamin; Ngo, Hung; Nguyen, Dung et al. (May 2020). "A Scheduling Approach to Incremental Maintenance of Datalog Programs". 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS). pp. 864–873. doi:10.1109/IPDPS47924.2020.00093. ISBN 978-1-7281-6876-0. https://ieeexplore.ieee.org/document/9139794.
- ↑ Köhler, Sven; Ludäscher, Bertram; Smaragdakis, Yannis (2012). Barceló, Pablo; Pichler, Reinhard. eds (in en). Declarative Datalog Debugging for Mere Mortals. Lecture Notes in Computer Science. 7494. Berlin, Heidelberg: Springer. 111–122. doi:10.1007/978-3-642-32925-8_12. ISBN 978-3-642-32925-8. https://link.springer.com/chapter/10.1007/978-3-642-32925-8_12.
- ↑ "Chapter 17. Provenance". https://developer.logicblox.com/content/docs/core-reference/webhelp/provenance.html.
Sources
- Green, Todd J.; Aref, Molham; Karvounarakis, Grigoris (2012). Barceló, Pablo; Pichler, Reinhard. eds (in en). LogicBlox, Platform and Language: A Tutorial. Lecture Notes in Computer Science. 7494. Berlin, Heidelberg: Springer. 1–8. doi:10.1007/978-3-642-32925-8_1. ISBN 978-3-642-32925-8. https://link.springer.com/chapter/10.1007/978-3-642-32925-8_1.
- Aref, Molham; ten Cate, Balder; Green, Todd J.; Kimelfeld, Benny; Olteanu, Dan; Pasalic, Emir; Veldhuizen, Todd L.; Washburn, Geoffrey (2015-05-27). "Design and Implementation of the LogicBlox System". Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data. SIGMOD '15. New York, NY, USA: Association for Computing Machinery. pp. 1371–1382. doi:10.1145/2723372.2742796. ISBN 978-1-4503-2758-9. https://doi.org/10.1145/2723372.2742796.
- Kifer, Michael; Liu, Yanhong Annie (2018-09-19) (in en). Declarative Logic Programming: Theory, Systems, and Applications. Morgan & Claypool. pp. 345. ISBN 978-1-970001-97-6. https://books.google.com/books?id=q6dwDwAAQBAJ&dq=%22LogicBlox%22+-wikipedia&pg=PA335.
Further reading
- Halpin, Terry; Rugaber, Spencer (2014-11-13) (in en). LogiQL: A Query Language for Smart Databases. CRC Press. ISBN 978-1-4822-4493-9. https://books.google.com/books?id=UBYeBQAAQBAJ&dq=logicblox&pg=PP1.
See also
Original source: https://en.wikipedia.org/wiki/LogicBlox.
Read more |