Fork me on GitHub

Why do some of my queries return :tg/nil as opposed to nil? Should I always just expect :tg/nil when there is no data for that triple? It’s not a hassle at all, but I am wondering why there is a special keyword.


Also thanks for making Asami. I’ve been using Aristotle for a different project and the transition to Asami is quite seamless since I am used to RDF semantics by now + the queries are definitely easier to write than Aristotle’s.


:tg/nil is only used to represent a nil value that was explicitly inserted in the database. eg if you insert an object like this:

{:id “object”
 :data nil}


And thank you 😊


In general, if there isn't any data then there won't be any result in a query


I see, thank you. I’ll just get rid of the nil vals in the input entities then to get back my nil punning. It’s just a bunch of excel rows, I just didn’t bother to clean them up before importing into Asami.


The idea was that a round-trip through Asami would not lose any information. If that entity is retrieved then it will have that key on it (with a nil value)


I have a question about transacting data in Asami: does the storage model support annotating transactions with metadata? I'm interested in recording information about how certain facts were added to an Asami DB and was wondering how this might be possible.


The storage model: yes. It’s not implemented though


Every transaction gets an ID. Those IDs can have statements made about them


Also, every statement gets an ID, and those IDs can have statements made about them too


But I haven’t done anything about exposing them yet. I plan to, but haven’t done so