Fork me on GitHub
#clojure-uk
<
2018-01-11
>
thomas08:01:35

moin moin morning

chrjs09:01:57

Morning folk

danm09:01:32

@thomas Where are you from?

danm09:01:51

I used to have a workmate who used 'moin moin', and he was from Luxembourg 🙂

danm09:01:06

morning, btw

thomas09:01:38

I am Dutch

thomas09:01:20

And moin moin as I know come from east-Frisia (which is the very north western part of Germany that borders the Netherlands)

thomas09:01:30

and the only reason I come here to the UK channel is that I have lived in the uk for almost 17 years... but I left just over a year ago and have come back to NL

danm09:01:50

Fair enough 🙂

yogidevbear10:01:14

Good morning humans and other designations

yogidevbear10:01:05

Jason is in the human group, Jade is in the other designations group

yogidevbear10:01:06

¯\(ツ)/¯

chrjs10:01:05

My phd supervisor was known for “moin moin” too. Baden-Württemberg area of Germany (south west)

chrjs10:01:45

But other Germans I knew considered it to be very twee

jasonbell10:01:19

@yogidevbear Well I suppose that’s a positive start then.

danm10:01:21

To be fair my old workmate might have got it from Germany, as Luxembourg is next to Germany and he spoke all the languages

maleghast11:01:34

Morning 🙂

maleghast11:01:26

Has anyone got a good example of using db.type/ref in Datomic..? I am (still) trying to wrap my head around how I might use Datomic to build my / our foundation database and I realise that I don’t really__ understand how to use references properly.

maleghast11:01:29

(in other words, how do I define in a schema a relationship, an “edge”, between two or more datoms?)

maleghast11:01:31

(or am I simply not thinking about it in the “right” terms?)

otfrom11:01:29

I got moin moin from the python wiki that I used to use 17 years ago

maleghast11:01:53

@otfrom - I knew there was a Python connection to moin moin… I think I used it way back too…

mccraigmccraig12:01:37

hwe used moinmoin - and had a german guy working for us who was quite enthusiastic about wishing everyone moinmoin and then giggling

mccraigmccraig12:01:50

perhaps because of the apparent tweeness

chrjs13:01:31

I think giggling makes an appropriate accompaniment.

chrisjd16:01:28

@maleghast With db.type/ref the value is just the entity ID of the datom you’re referencing. Like a foreign key.

maleghast16:01:10

@chrisjd - Ah ok, that makes sense - thanks 🙂

maleghast16:01:06

I had a look at the source code for the Datomic example DB for Musicbrainz and that was really the only bit I hadn’t wrapped my head around, so I appreciate it.

maleghast16:01:59

Is there any way to store values on “edges” in Datomic, I mean I can already see how datoms are like nodes / vertices, but I haven’t really been able to figure out whether or not a datom can be modelled as an edge instead of a node…

chrisjd16:01:22

You could model the edges as datoms explicitly - so rather than nodes referencing each other, they reference edges. Then store your extra attributes on the edge datoms. So each node could have a :node/connections attribute of type db.type/ref with db.cardinality/many that reference connected edge datoms.

maleghast16:01:14

With Foreign Keys in an RDBMS one can create utility look-ups so that one can find the right ID to add into a related record as the database grows large and there are many items that need to be added into new data in this way… Is there a Datomic way of doing this..? As in an idiomatic / received way of doing it, as well as or instead of a “feature” designed to make it easier / simpler..?

chrisjd16:01:18

Alternatively, you invert the relationship so an edge datom has :edge/from and :edge/to, both refs.

maleghast16:01:50

@chrisjd - re edges, I see what you mean; that makes sense, thanks 🙂

maleghast16:01:47

Frankly the ability to model it in a couple of different ways is quite awesome / felxible.

maleghast16:01:44

I think that what I am going to do in the first instance is create some pretty open / simple schema for very general “classes” of data, such as person, organisation, country etc. and then create schema for specialised versions of these core types over time as / when it becomes necessary to create highly specified datoms.

chrisjd16:01:16

That makes sense. The philosophy is very much about “accretion”, so starting general and adding more attributes as you need them works well. 🙂

maleghast16:01:14

Brilliant… It’s still a ridiculous mountain to climb, but at least I feel as though I have a plan that is the product of some serious consideration and thought.

maleghast17:01:26

Are people broadly in favour of Conformity ( https://github.com/rkneufeld/conformity ) or “something else”(tm) or neither?

maleghast17:01:01

Also, I have a feeling someone said to me that there is a clojure.spec -> Datomic Schema workflow / path / approach that if I am remembering it correctly I would probably enjoy… Finally I find myself wondering if anyone has cracked connecting up forms in a ClojureScript app with inserting data into Datomic..?

dominicm17:01:18

we use conformity

maleghast17:01:39

@dominicm - That’s a more than good enough vote of confidence for me…