// 04 RESTRICTED
owl-quad-datastore
The semantic layer under Atlas, intervalclock, unitype and Kith: an RDF quad store over rdflib with a named graph per source, cached vocabularies, importers that turn real data into triples, and a React graph studio to browse the result. Its own ontology names time with intervalclock's ic1: addresses, types literals with unitype's ut1: datatype IRIs, and marks each imported graph as gated by the Kith hub, because much of what goes in was private where it came from.
What goes in
- Atlas's web chain: public suffixes, domains, hosts, route patterns and observed pages, with each entity's visibility carried over so the public subset stays queryable.
- Certificate Transparency: a bounded window of OpenINTEL Zonestream, newly registered domains as CT logs see them, each entry a
kbw:CertificateSighting. The graph is deny-closed by default, because CT names skew toward short-lived registrations and include personal names. - Wikidata entities by Q-id or article title, with
P31andP279mapped tordf:typeandrdfs:subClassOf. - Crunchbase organizations and people through the licensed API, and Ahrefs' top domains by Domain Rating, landing on the same domain IRIs as Atlas so the two merge.
The studio's Data tab walks whatever is loaded, suffix to domain to hosts to routes to pages, and a namespace picker scopes it to one workspace.
Typed object stores
A store is a folder of objects under S3-style keys, typed by a unitype universe. Every write is a new immutable version record, chained to the one before by sha256 and written create-only, so concurrent writers are safe; one head.json per object is the only mutable key. Foreign keys are checked on write and become real IRI edges in the store's named graph. The same operations are a CLI, a tab in the studio and an MCP server with twelve tools, among them read-only SPARQL that refuses federated SERVICE clauses, because rdflib would answer one by making outbound requests.
Stated honestly
- The Kiro spec plans owlready2 ontologies, HermiT reasoning and SQLite; what got built is rdflib with Postgres and Apache AGE mirroring hooks, and none of the spec's 43 tasks is checked off. There is no reasoner yet.
- The core, time and model vocabularies are published at kb.cartercole.net. The kith, web, object and question vocabularies are not.
- The Atlas export takes about 8 seconds and 1.6 GB of memory to load, and most of it is private browsing, so the server stays on localhost.