asami

Asami, the graph database https://github.com/threatgrid/asami
quoll 2021-04-28T02:36:36.296800Z

How very rdf:Statement of you!

1
quoll 2021-04-28T02:37:12.296900Z

That’s my way of saying…. “No” 🙂

1👻
pithyless 2021-04-28T06:43:30.309200Z

Since attribute is just another datom in Datomic you can do:

[?p ?a ?p2]
[?a :db/ident :friend]
But in Datomic edges are scalar and unlabeled. If we ease that requirement, perhaps we can push this further:
[?p ?e ?p2]
[?e :attr/ident :friend]
[?e :date ?date]
The primary difference being that ?e could have a multiple cardinality unlike Datomic.
[?p ?e ?p2]
[?e :attr/ident :friend]
[?e :priority ?p]
[(> ?p 10)]  ;; and maybe in find we want to (count ?e)
Warning: I'm still pre- so this may all be gibberish; but I like playing with the duality of labeled edges vs labeled-nodes + more-edges. This may be all very impractical. 🙂

quoll 2021-04-28T14:55:25.309900Z

Since this is the Asami channel, I can say that this is already quite possible. In fact, we’re using it this way at Cisco.

quoll 2021-04-28T14:56:58.311600Z

While it has bizarre semantic implications (that I really don’t want to think about! :rolling_on_the_floor_laughing:) Asami has been liberating after years of RDF where the datatypes of Subject/Predicate/Object were so strictly defined

quoll 2021-04-28T14:58:06.312500Z

So Asami really just doesn’t care if your attribute is an internal node that is unique to that connection and has its own attributes

quoll 2021-04-28T14:58:24.312900Z

Asami also doesn’t care if your attribute is a string… which has its own attributes.

quoll 2021-04-28T14:59:14.313800Z

(Note: please don’t do this! It works fine, but I’m sure that one day it will cause significant confusion for someone)

1😜
quoll 2021-04-28T15:01:35.315700Z

I like the idea that I can say:

["football"  :matches  #a/n 1]
[#a/n "1"    :type     :regex]
[#a/n "1"    :value    "^foo.*"]

quoll 2021-04-28T15:03:03.315800Z

I plan to use internal nodes more frequently in my examples in future. I figure that it will be clearer what the nodes indicate and also get people more used to seeing them.

quoll 2021-04-28T19:48:16.318100Z

Asami 2.0.2 is out. This has 2 changes: • A bugfix in grouping for some aggregate queries • Filenames have been corrected. If you have a database from 2.0.1 or earlier, then you can rename the files with a script called update.sh on github

quoll 2021-04-28T19:49:16.319300Z

The filename change was annoying and trivial, so I didn’t figure that it warranted a minor version update, but it’s a bigger change than I like.

quoll 2021-04-28T19:49:50.320Z

I figured I needed to get it out asap before too many databases had been created with the wrong filenames 🙂