Support graph-oriented indexing #95

Open
opened 2020-08-06 16:54:49 +00:00 by gburd · 0 comments
gburd commented 2020-08-06 16:54:49 +00:00 (Migrated from github.com)

Pull expressions allow for recursion. One could also write rules, or even regular queries, that do path traversal over attributes.

We should consider whether there are any indexing options to expose to consumers that would help Datomish efficiently answer these queries. For example, a transitive closure index on an attribute would, at the cost of materializing and maintaining the transitive closure matrix/list, turn a recursive SQL join into a simple lookup, and also exposes minimum distance functions cheaply.

This is one example of a set of ways in which Datomish might support graph queries and other kinds of operations at a higher level of abstraction, just as :fulltext true does for full-text search. We should be on the lookout for more.

[Pull expressions allow for recursion](http://docs.datomic.com/pull.html#recursive-specifications). One could also write rules, or even regular queries, that do path traversal over attributes. We should consider whether there are any indexing options to expose to consumers that would help Datomish efficiently answer these queries. For example, a transitive closure index on an attribute would, at the cost of materializing and maintaining the transitive closure matrix/list, turn a recursive SQL join into a simple lookup, and also exposes minimum distance functions cheaply. This is one example of a set of ways in which Datomish might support graph queries and other kinds of operations at a higher level of abstraction, just as `:fulltext true` does for full-text search. We should be on the lookout for more.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: greg/mentat#95
No description provided.