标签: datascript

如何构造一个完全匹配DataScript中refs向量的查询?

设置考虑以下DataScript数据库的电影和演员,数据从learndatalogtoday.org窃取:以下代码可以在JVM/Clojure REPL或ClojureScript REPL中执行,只要project.clj包含[datascript "0.15.0"]作为依赖项.

(ns user
  (:require [datascript.core :as d]))

(def data 
  [["First Blood" ["Sylvester Stallone" "Brian Dennehy" "Richard Crenna"]]
   ["Terminator 2: Judgment Day" ["Linda Hamilton" "Arnold Schwarzenegger" "Edward Furlong" "Robert Patrick"]]
   ["The Terminator" ["Arnold Schwarzenegger" "Linda Hamilton" "Michael Biehn"]]
   ["Rambo III" ["Richard Crenna" "Sylvester Stallone" "Marc de Jonge"]]
   ["Predator 2" ["Gary Busey" "Danny Glover" "Ruben Blades"]]
   ["Lethal Weapon" ["Gary Busey" "Mel Gibson" "Danny Glover"]]
   ["Lethal Weapon 2" ["Mel Gibson" "Joe Pesci" "Danny …
Run Code Online (Sandbox Code Playgroud)

clojure datalog clojurescript datomic datascript

9
推荐指数
1
解决办法
284
查看次数

慢速 Datascript 查询

我正在使用 Datascript 查询具有给定名称的 2 个节点的最后一个共同祖先的树结构,是我到目前为止所得到的,但它真的很慢 - 知道为什么(或者有更好的方法)?

(defn lca
  "Last common ancestor"
  [db name1 name2]
  (d/q '[
          :find [(pull ?anc [:db/id :name]) ...]
          :in    $ % ?name1 ?name2
          :where
            (?node1 :name ?name1)
            (?node2 :name ?name2)
            (anc ?anc1 ?node1)
            (anc ?anc2 ?node2)
            [(not= ?anc1 ?anc2)]
            (parent ?anc ?anc1)
            (parent ?anc ?anc2)
          ]
          @db
          '[
            [ (parent ?par ?child)
              (?par :children ?child)]
            [ (anc ?par ?child)
              (?par :children ?child)]
            [ (anc ?anc ?child)
              (?par :children ?child)
              (anc ?anc ?par)]
            ] …
Run Code Online (Sandbox Code Playgroud)

clojure datascript

3
推荐指数
1
解决办法
256
查看次数

Datomic的tempid是否提供唯一的实体ID?

我对datomic.api/tempid提供实体ID的fn 有一些疑问.

它产生了一些long价值,不UUID Stringlong是64位,它让我想想的独特性后,某些时候,我可能会达到长的限制.反而会更难UUID.

当我写这样的代码时,我会问自己"这是否达到实体ID限制并在添加新实体时导致问题?"

@(d/transact
   conn
   [{:db/id   (d/tempid :db.part/user)
     :city/district "BEYKOZ"}])
Run Code Online (Sandbox Code Playgroud)

clojure datomic datascript

1
推荐指数
1
解决办法
695
查看次数

标签 统计

clojure ×3

datascript ×3

datomic ×2

clojurescript ×1

datalog ×1