Skip to content

Instantly share code, notes, and snippets.

@a2ndrade
a2ndrade / gist:5651065
Created May 25, 2013 23:00
Datomic: memoized predicate functions
;; see http://stackoverflow.com/questions/16386793/datomic-query-function-that-filters-and-binds
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; sample attribute definiton
(d/transact conn [{:db.install/_attribute :db.part/db
:db/id #db/id[:db.part/db]
@a2ndrade
a2ndrade / gist:5655005
Last active March 1, 2023 09:31
Datomic: containment relationships i.e. db/isComponent
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [;; Article
{:db/id #db/id [:db.part/db]
:db/ident :article/title
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
@a2ndrade
a2ndrade / e3.py
Created July 26, 2021 00:17
e3.py
def main():
# este es la lista vacia
temperaturas = []
# el usuario ingresa la cantidad de dias
num_dias = int(input(f"¿Cuantos días se van a promediar?: "))
# el ciclo del array
for i in range(0, num_dias):
temperatura = float(input(f"Ingrese la temperatura del dia {i + 1}: "))
temperaturas.append(temperatura)
print(f"\nLas temperaturas son: {temperaturas}")
@a2ndrade
a2ndrade / gist:5814355
Last active March 23, 2021 07:34
Datomic: Getting the id of an inserted entity
;; see http://stackoverflow.com/questions/17190334/getting-the-id-of-an-inserted-entity-in-diatomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
;; create an atribute
(d/transact conn [{:db/id #db/id[:db.part/db]
:db/ident :some/attribute
:db/valueType :db.type/string
@a2ndrade
a2ndrade / gist:5651419
Last active December 23, 2020 16:11
Datomic: data model for a simple blog
;; see http://stackoverflow.com/questions/14724991/modelling-multiple-many-to-many-relationships-in-datomic
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [ ;; User
{:db/id #db/id [:db.part/db]
:db/ident :user/username
@a2ndrade
a2ndrade / gist:5654999
Last active April 11, 2020 23:13
Datomic: database functions and foreign-key constraints
(require '[datomic.api :as d])
(def uri "datomic:mem://test")
(d/create-database uri)
(def conn (d/connect uri))
(d/transact conn [{:db/id #db/id [:db.part/db]
:db/ident :enum/ns
:db/valueType :db.type/string
:db/cardinality :db.cardinality/one
:db/doc "Enum's namespace. Help enforce fk constraints on :db.type/ref enum references"
@a2ndrade
a2ndrade / gist:5234370
Last active March 15, 2019 22:21
Datomic Pro Setup: MySQL
# download
wget http://downloads.datomic.com/0.8.3848/datomic-pro-0.8.3848.zip
unzip datomic-pro-X.X.zip & cd datomic-pro-X.X
# install as a maven artifact
./bin/maven-install
# configure transactor.properties
cp config/samples/sql-transactor-template.properties transactor.properties
# protocol=sql
w:"I"$first .z.x
c:{[w]
warehouse:w*9;
stock:100000*18;
item:100000*5;
region:5*3;
supplier:10000*7;
nation:25*4;
orderline:w*300000*10;
neworder:w*9000*3;
@a2ndrade
a2ndrade / db.q
Last active August 5, 2016 15:44
Atomic
\c 30 300
/ KDB built-in types
/ default values
STORAGE_VALUES:(0b;0Ng;0x00;0h;0i;0;0e;0.0;" ";`;0Np;2000.01m;2000.01.01;2000.01.01T00:00:00.000;0Nn;00:00;00:00:00;00:00:00.000;0)
STORAGE_VALUES,:enlist each STORAGE_VALUES
/ char aliases
STORAGE_CHARS:"bgxhijefcspmdznuvtr" / scalar char aliases
@a2ndrade
a2ndrade / a.q
Last active August 5, 2016 15:44
Atomic
\c 15 300i
/ c: count | th: table handle | ht: historical table | st: snapshot table | rt: realtime table | tx: transaction
/ source: "abcdefghijklmnopqrstuvwxyz" (size=26)
/ input: (# of groups) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
/ output (# of handles): 676 169 81 49 36 25 16 16 9 9 9 9 4 4 4 4 4 4 4 4 4 4 4 4 4 1
getHdbTableHandles:{[crossProductAlphabetSize]`$(":hdb/",/:raze g,\:/:g:cut[crossProductAlphabetSize;"abcdefghijklmnopqrstuvwxyz"]),'"/"}
getAllHdbTableHandles:{
/:raze getHdbTableHandles each 1+til 26 / all tables ~1200