why would i use this over some rdf / owl / sparql thing?
i want to use these semantic / KG tech but i find them so confusing!
because it doesn't suck :)
it's local first, agent-friendly tooling; you have single cli to access it (mcp is there as well if that's your thing)
everything is persisted in simple local text files that you can actually read (or sqlite database if you don't care / have more data)
ie there is no integration, k8s-style nonsense etc, you can just use it on project or on your system user level and know exactly what's there, you have control over it, you can delete it, move it, extract parts you find useful and move on etc
because it has first class support for uncertainty
evidence is first class concern
supports evolution of belief (statements can be revised, retracted etc. without destroying history)
knowledge is executable (rules, actions, automations – all operate on the same claim model)
it works well for knowledge that keeps changing (including support for querying knowledge as of some past time)
it's great for llm sessions, ie. simple things like comment on a claim being part of a claim itself, which means it appears when working with knowledge, which allows to support weird/human/natural-language aspects that are not directly part of the model
...
rdf/owl/sparql is great for large, public, structured datasets (ie. medical, scientific or some regulatory, standardized ontologies)
cave is great for evolving knowledge, ie. in most cases i use it by just dropping it in and forgetting about it – i don't care how/what llm will model, i just care it'll solve some problems faster when aiding itself with it as a tool; if i want some structured dataset out of it i may occasionally ask it to model it around homogeneous schema i can extract, but in most cases i really don't care
This seem similar to what using semantic tech (and quad stores) can be used accomplish (Subject, Predicate, Object, Graph).
But you are putting broad but is more opinionated design structure around it. I will have a look thanks.