How very rdf:Statement
of you!
That’s my way of saying…. “No” 🙂
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. 🙂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.
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
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
Asami also doesn’t care if your attribute is a string… which has its own attributes.
(Note: please don’t do this! It works fine, but I’m sure that one day it will cause significant confusion for someone)
I like the idea that I can say:
["football" :matches #a/n 1]
[#a/n "1" :type :regex]
[#a/n "1" :value "^foo.*"]
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.
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
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.
I figured I needed to get it out asap before too many databases had been created with the wrong filenames 🙂