From 3735a9d0777f6e9e8b89b7f18f0049a0188f325c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christopher=20M=C3=BChl?= Date: Tue, 17 Feb 2026 23:09:18 +0100 Subject: [PATCH] feat: reframe as hosted Walder with multi-tenancy and community hub Co-Authored-By: Claude Sonnet 4.5 --- README.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7153543..3346b6f 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,27 @@ # Solid Gate -> Your Solid pod, with an API surface you define. +> Hosted, multi-tenant [Walder](https://github.com/KNowledgeOnWebScale/walder) with a community template hub. ## What is this? [Solid](https://solidproject.org/) is great for storing your personal RDF data in a pod you control. The problem: every app that wants to read your data needs to speak LDP, understand your specific vocabularies, and parse RDF. Almost none do. -Solid Gate is the adapter layer. Define a mapping template once, and your pod data is exposed as whatever format a consuming app actually wants — RSS, iCal, JSON, a REST endpoint, anything. +Solid Gate is the hosted service layer on top of [Walder](https://github.com/KNowledgeOnWebScale/walder) — a tool that builds websites and APIs on top of decentralized knowledge graphs. Walder proved the concept. Solid Gate productizes it: multi-tenancy, Solid OIDC auth per user, cache invalidation via Solid Notifications, and a community hub of one-click templates for common transformations. Think of it as [SPARQL-Anything](https://sparql-anything.cc/) in reverse: SPARQL-Anything lets you query arbitrary formats *as if* they were RDF. Solid Gate lets you serve your RDF *as if* it were any arbitrary format. ## How it works 1. **Authenticate** — grant Solid Gate read access to your pod via Solid OIDC -2. **Deploy a template** — pick one from the library or write your own +2. **Deploy a template** — pick one from the community library or bring your own 3. **Get a stable URL** — your transformed data is cached and served at a permanent endpoint -4. **Stays fresh** — [Solid Notifications](https://solid.github.io/notifications/protocol) trigger recomputation when your pod data changes; stale cache is served in between +4. **Stays fresh** — [Solid Notifications](https://solid.github.io/notifications/protocol) trigger recomputation when your pod data changes; stale cache served in between ``` -Your Solid Pod → Solid Gate → stable URL (RSS / iCal / JSON / ...) - ↑ - mapping template - (yours or community) +Your Solid Pod → Solid Gate (Walder) → stable URL (RSS / iCal / JSON / ...) + ↑ + community template + (or bring your own) ``` ## Example use cases @@ -31,6 +31,10 @@ Your Solid Pod → Solid Gate → stable URL (RSS / iCal / JSON / ...) - **Contacts → vCard** — bridge your pod contacts to legacy address book apps - **Any RDF → REST API** — give legacy apps a familiar interface to your pod data +## The community hub + +The template library is the core value. Common transformations are one-click deploys. Power users publish their own. Think Vercel for Walder configs. + ## Deployment ### Self-hosted @@ -45,7 +49,8 @@ Coming soon. Authenticate with your Solid identity, deploy a template, done. Early design phase. Part of the [Aleph Garden](https://aph.gdn) personal semantic web project. -## Related +## Prior art -- [Solid Project](https://solidproject.org/) +- [Walder](https://github.com/KNowledgeOnWebScale/walder) — the engine underneath; research prototype from IDLab/KNoWS (Ghent). Proved the concept, never productized. - [SPARQL-Anything](https://sparql-anything.cc/) — the spiritual mirror of this project +- [ActivityPods](https://activitypods.org/) — ActivityPub + Solid combined; adjacent but different problem