{"id":32187684,"url":"https://github.com/functionalfoundry/query-engine","last_synced_at":"2025-12-12T01:06:13.697Z","repository":{"id":62435166,"uuid":"69551805","full_name":"functionalfoundry/query-engine","owner":"functionalfoundry","description":"Engine to run Om Next queries against different data layers","archived":false,"fork":false,"pushed_at":"2017-12-12T22:51:26.000Z","size":232,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-04T22:50:56.858Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://functionalfoundry.github.io/query-engine","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/functionalfoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-29T09:19:05.000Z","updated_at":"2017-10-05T21:01:54.000Z","dependencies_parsed_at":"2022-11-01T21:02:32.497Z","dependency_job_id":null,"html_url":"https://github.com/functionalfoundry/query-engine","commit_stats":null,"previous_names":["workfloapp/query-engine"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/functionalfoundry/query-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/functionalfoundry%2Fquery-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/functionalfoundry%2Fquery-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/functionalfoundry%2Fquery-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/functionalfoundry%2Fquery-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/functionalfoundry","download_url":"https://codeload.github.com/functionalfoundry/query-engine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/functionalfoundry%2Fquery-engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280355265,"owners_count":26316638,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-22T00:13:46.482Z","updated_at":"2025-10-22T00:13:50.292Z","avatar_url":"https://github.com/functionalfoundry.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# workflo/query-engine\n\n[![Clojars Project](https://img.shields.io/clojars/v/workflo/query-engine.svg)](https://clojars.org/workflo/query-engine)\n[![Build Status](https://travis-ci.org/functionalfoundry/query-engine.svg?branch=master)](https://travis-ci.org/functionalfoundry/query-engine)\n\n[API docs](http://functionalfoundry.github.io/query-engine/)\n\nThe `workflo/query-engine` allows to execute [Om Next](https://github.com/omcljs/om)\nqueries against different data layers, including:\n\n* [entitydb](https://github.com/functionalfoundry/entitydb)\n* [DataScript](https://github.com/tonsky/datascript)\n* [Datomic](http://www.datomic.com/)\n\n## Usage (DataScript)\n\n```clojure\n(require '[clojure.spec.alpha :as s]\n         '[workflo.macros.entity :refer [defentity registered-entities]]\n         '[workflo.macros.entity.datascript :refer [entity-schema]]\n         '[workflo.macros.specs.types :as types]\n         '[workflo.query-engine.core :as query-engine]\n         '[workflo.query-engine.data-layer.datascript-no-authorization :as dl])\n\n\n;; Define a user entity with workflo/macros\n\n(s/def :user/name ::types/string)\n(s/def :user/email ::types/string)\n\n(defentity user\n  (spec\n    (s/keys :req [:db/id\n                  :user/name\n                  :user/email])))\n\n\n;; Create a DataScript schema\n\n(def schema (-\u003e\u003e (registered-entities)\n                 (vals)\n                 (map entity-schema)\n                 (apply merge)))\n\n\n;; Create a DataScript database\n\n(def conn (ds/create-conn schema)\n\n\n;; ... Populate the database with users ...\n\n\n;; Run a query against the database, fetch all users\n;; with their IDs and names\n\n(query-engine/query [{:users [:db/id :user/name]}]\n                    (dl/data-layer)\n                    {:db @conn})\n\n;; -\u003e #{{:db/id 1 :user/name \"John\"}\n;;      {:db/id 2 :usder/name \"Linda\"}}\n```\n\n## Testing\n\n1. Install [boot](http://boot-clj.com/)\n2. Clone this repository\n3. Run the tests:\n   - `boot test` to run tests once\n   - `boot watch test` to run tests continuously on changes\n\n## License\n\n`workflo/query-engine` is copyright (C) 2016-2017 Workflo, Inc.\n\nLicensed under the MIT License.\n\nFor more information [see the LICENSE file](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunctionalfoundry%2Fquery-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffunctionalfoundry%2Fquery-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunctionalfoundry%2Fquery-engine/lists"}