Even though I am in early beginnings still, I’ll mention the use case for which I am investigating TerminusDB:
I am looking to starting two fediverse (ActivityPub / ActivityStreams) based applications, one a collaboration server and the other a federation of (relatively) small-scale social networks.
Besides these standards I will combine with the richness of linked data (similar to SemApps) but - probably - server-side based on TypeScript / NestJS.
So here already I get already quite excited with TerminusDB features for the ‘web era’, and WOQL/JSON-LD as replacement for SPARQL queries.
But I also intend to investigate Event Sourcing and Command/Query separation, treating incoming ActivityPub messages as commands, triggering Events in the business logic which are stored in Terminus as the eventstore. I don’t know how well Terminus is suited for that, but with its git-for-data concept I imagine quite well. I read that Terminus is read-optimized and I expect to have way more reads than writes too. And Terminus acting as an eventstore can also keep the semantic relationships and allow for a great query composition on the read side.
Finally with all this in place I intend to go the Doman Driven Design route, making it ever easier to translate domain concepts to an ever growing linked data model.
Some questions I now have:
-
Do you intend to provide TypeScript support?
-
One problem with eventsourcing is complying with the GDPR Right to be Forgotten, and I think this is a problem that Terminus, with its forward-only immutable storage concept will have too: https://duckduckgo.com/?q=eventsourcing+gdpr&t=canonical
I wonder what your approach is in this regard?