SemApps

P2P Platform

Semantic web toolbox for building federated, interoperable applications compliant with W3C standards (LDP, SPARQL, ActivityPub, WAC, WebID). Built on Moleculer microservices and Jena Fuseki triplestore. Sister project ActivityPods combines Solid PODs with ActivityPub for genuinely decentralized personal data ownership .

Community

Details

License Apache 2.0 ; https://github.com/assemblee-virtuelle/semapps
Dev Status 🟢 Active
Dev Status Detail Active development / Production (multiple deployed instances including Colibris, Les Chemins de la Transition, Destination Oasis)
Owner Virtual Assembly (Assemblée Virtuelle), French non-profit association; lead developer Sébastien Rosset (@srosset81); with Data Players cooperative
Country France
Start Year 2019
Stack Node.js (Moleculer microservices framework), Apache Jena Fuseki (customized for WAC), React-Admin (frontend components), Docker
Funding NLnet/NGI grants (ActivityPods received multiple NLnet grants); donations from Data Players cooperative and French non-profit ecosystem (Colibris movement); volunteer-driven
Last Investigated Mar 9, 2026

Affordances

Interoperable formats Ecosystem mapping Self-hostable

P2P Platform Attributes

Origins Created within Virtual Assembly, a French non-profit citizen think-tank founded 2011. Inspired by meeting Henry Story (historic Solid contributor) in 2013. First version used Semantic Forms; v2 rewritten 2019-2020 on Node.js/Moleculer stack with Jena Fuseki .
Database Apache Jena Fuseki triplestore (customized with WAC extensions for permission-aware SPARQL)
Query Language SPARQL, LDP (Linked Data Platform REST API)
Data Formats RDF (triples/quads), JSON-LD, Turtle, N-Triples (via Jena Fuseki); LDP containers
Collaborative Live Editing No
Rich Text Editing No (React-Admin provides form-based editing of semantic data)
Mobile Support No (server-side; ActivityPods apps can be mobile-responsive web apps)
Web Support Yes (React-Admin frontend components, REST/LDP API, Semantic Data Provider)
Native Apps No
Terms Apache 2.0
Funds Unknown / grant-funded (Virtual Assembly relies on volunteering and donations; Data Players donated €7,000+)
Based On W3C Semantic Web standards (LDP, ActivityPub, WAC, WebID, Solid specification); Apache Jena Fuseki; Moleculer framework
P2P Architecture Federated (server-to-server via ActivityPub, same model as Mastodon); ActivityPods adds decentralized personal data pods (Solid-compatible)
Development Tools Moleculer CLI and templates for scaffolding new SemApps projects; @semapps/* NPM packages; React-Admin Semantic Data Provider for frontend development; Docker Compose for local dev
Deployment Options Docker Compose (Fuseki + middleware + frontend containers); self-hosted on any server; multiple instances can federate via ActivityPub
Authentication & Identity WebID-TLS/OIDC for user authentication; HTTP Signatures for ActivityPub federation; WebACL (WAC) for fine-grained resource-level permissions
Storage Model Apache Jena Fuseki triplestore (disk-based); each instance has its own triplestore; ActivityPods: personal data stored in individual Solid PODs
Interoperability Native and comprehensive W3C interoperability: ActivityPub federation with Mastodon and other fediverse apps; LDP for standardized data access; SPARQL endpoints; JSON-LD for linked data; WAC for cross-instance permissions
Social Graph Yes — ActivityPub provides social graph (followers/following, activities); SemApps instances deployed for cooperative mapping of organizations, people, projects, and resources (e.g., Virtual Assembly network, Colibris)