Fork me on GitHub
#datomic
<
2018-04-16
>
Chris Bidler02:04:24

I wonder if you can get away with building your own for-Lambda VPC and using VPC peering to “attach” to the Cloud VPC without having to manually make any changes to it

Chris Bidler02:04:51

also thank you for figuring that out, @cjsauer. If this Slack had a karma-bot I would give you a kudo

🍻 4
cjsauer14:04:09

>building your own for-Lambda VPC @chris_johnson that's a good idea. In that same line of thinking, it'd be really cool if the Datomic Cloud stack included a few private subnets (or even a separate VPC like you mentioned) out-of-the-box for client applications.

👍 4
stijn14:04:33

is there an alternative for conformity with datomic client?

cjsauer15:04:33

@stijn maybe not exactly what you're after, but there is some sample code for doing schema conformance in the day of datomic repo: https://github.com/Datomic/day-of-datomic/blob/master/src/datomic/samples/schema.clj

stijn18:04:16

@calvin, yeah I can use that until transaction functions (or similar) are available in datomic cloud. Thanks!

Petrus Theron19:04:39

How to model property graphs with Datomic? E.g. given a sentence like "Lawrence of Arabia rode 100km on horseback over 3 days," how can we model the semantic facts that can be extracted from the sentence including the context so that unit bases are not lost, e.g. facts: [{:db/id "sentence1" :source/text "Lawrence of Arabia rode 100km over 3 days" :subject {:db/id "person1" :person/name "Lawrence of Arabia"} :travel/distance {:distance/meters 300000 :distance/unit :km} :travel/time {:time/hours 72 :time/unit :days}}]. It bothers me that I'm having to make "component" entities when it feels like these aren't really entities, just facts about facts. I heard @stuarthalloway mention that transaction metadata might be more suitable for "edge attributes", but this means I have to trigger multiple transactions where one would suffice. Has anyone had trouble with this? Is this Datomic the right tool for the job here?

hmaurer19:04:12

@petrus where did @stuarthalloway mention this? out of curiosity

Petrus Theron19:04:12

take it as hearsay until I can recall the source, because I heard it several weeks ago on a podcast about a podcast of which I don't recall the name. It got me thinking that yes, edge attrs can be modelled as tx-meta, but it doesn't feel natural

hmaurer20:04:58

@petrus without more context on what he said, that sounds very odd. In my opinion if you have edge data to store, you should represent the edge as an entity

Petrus Theron19:04:12

take it as hearsay until I can recall the source, because I heard it several weeks ago on a podcast about a podcast of which I don't recall the name. It got me thinking that yes, edge attrs can be modelled as tx-meta, but it doesn't feel natural

marshall19:04:59

@petrus I would probably use something like an enum for things like your distance and time units

marshall19:04:41

i’m also unsure why you need nested entities for travel/distance, travel/time, and subject

Petrus Theron19:04:53

I use sub-entities to retain context, so that I can adjust the source content in the dimension it was provided in, e.g. to show you a slider to change the no. of travel days, instead of basing it in unix timestamp seconds

marshall19:04:28

keep in mind, “sub-entities” aren’t really “nested” unless they’re components

marshall19:04:56

if the nested entities have an explicit ID (like your :subject one does) they are entities with their own existence

marshall19:04:15

they happen to be referenced from another entity in this case

marshall19:04:52

unless you’re planning on hanging other attributes off of those specifically

marshall19:04:13

i.e. if you have other sentences about “Lawrence of Arabia”, then yes, probably make a separate entity for it

Petrus Theron19:04:23

how to answer, "who travelled 100km?" without tracking the subject of the activity as a person entity? Or, " who travelled on horseback?"

marshall19:04:49

it really depends on how complex the possible data model is if all your entities are “things that can travel” then their travel means and travel distances can be attributes directly on that entity (maybe)

marshall19:04:22

but if you’re interested in the travel itself, it may be worth reifying them as their own set of entities with references to the ‘things’ (the entities) that did the traveling

Petrus Theron19:04:23

how to answer, "who travelled 100km?" without tracking the subject of the activity as a person entity? Or, " who travelled on horseback?"

Petrus Theron19:04:53

I use sub-entities to retain context, so that I can adjust the source content in the dimension it was provided in, e.g. to show you a slider to change the no. of travel days, instead of basing it in unix timestamp seconds