Is it possible to write these sort of queries in datomic?
It is often used as a query language for deductive databases. In recent years, Datalog has found new application in data integration, information extraction, networking, program analysis, security, cloud computing and machine learning.
Because Datomic queries run in application process space, they can be faster than any possible RPC query in some circumstances.
[:find (max ?tuple) :where
[?k :kid/age ?age]
[?k :kid/name ?name]
[(vector ?age ?name) ?tuple]
Note:
the order of attributes in expression (vector ?age ?name)
matters
the query returns single result while we might expect a collection because there may be many kids of age that is the maximum in the set. You can use (max n ?tuple)
to achieve that.
See also the Aggregates Returning Collections section in http://docs.datomic.com/query.html
If you have something more specific in mind, provide more details in the question and include your schema.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With