Compare commits

..

9 Commits

Author SHA1 Message Date
Hassan Abedi
8eb7c6f49f Up 2026-06-03 12:11:11 +02:00
Hassan Abedi
8ddfce6d38 Up 2026-06-03 12:02:35 +02:00
Hassan Abedi
b29141c47c Up 2026-06-03 12:02:14 +02:00
Hassan Abedi
0b89e64773 WIP 2026-06-03 11:55:38 +02:00
Hassan Abedi
228a88d999 Add the early version of query-ops implmenation 2026-06-03 11:48:33 +02:00
Hassan Abedi
6819e3f8b3 Add a note file about the findings from CozoDB and LMDB projects 2026-06-02 12:35:25 +02:00
Hassan Abedi
b1d38eff49 Improve scaffolding for query-ops crate 2026-06-01 13:22:32 +02:00
Hassan Abedi
6212f13ee6 Add scaffolding for query-ops crate 2026-06-01 11:44:33 +02:00
Hassan Abedi
003ab36bd5 WIP 2026-05-29 15:53:13 +02:00
3 changed files with 4 additions and 8 deletions

View File

@ -18,17 +18,15 @@ The operators are: atom scan, semijoin, and natural join.
<div align="center">
<picture>
<img alt="Types" src="docs/diagrams/types.svg" height="50%" width="50%">
<img alt="Types" src="docs/diagrams/types.svg" height="70%" width="70%">
</picture>
</div>
### Example
The rule below returns the authors of every bestseller along with the book's price.
It uses all three operators:
- `scan_atom` for the three input tables,
- `semijoin` to keep only authors of bestsellers,
- and `natural_join` to attach each book's price.
It uses all three operators: `scan_atom` for the three input tables, `semijoin` to keep only authors of bestsellers, and `natural_join` to attach each
book's price.
```text
Q(name, book, dollars) :- author(name, book), bestseller(book), price(book, dollars).
@ -104,11 +102,9 @@ fn main() {
}
```
How it works:
<div align="center">
<picture>
<img alt="Types" src="docs/diagrams/workflow.svg" height="90%" width="90%%">
<img alt="Types" src="docs/diagrams/architecture.svg" height="70%" width="70%">
</picture>
</div>

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB