Build web apps on linked dataLinked data A way of publishing data where every thing has its own web address, and things link to each other, just like web pages do., with TypeScript
ShapeThing is a set of TypeScript libraries for building apps on linked data, in the browser and in Node. Describe your data once as a shapeShape A description of what a resource should look like: which properties it has, of which type and how many. Comparable to a Zod or JSON Schema. ShapeThing uses shapes to fetch, show, edit, type and generate data.. From that one description you get typed queries, complete documents, forms, TypeScript types and test data.
See it in action
Interactive examples that run in your browser, on a small dataset of chefs and recipes.
- Loading data Use a folder on your computer as a database.
- Fetching a list Queries with TypeScript types generated as you type.
- Fuzzy search Search your data, with typos allowed.
- Fetching a document Get one recipe or chef with everything that belongs to it.
- Viewing and editing Views and forms made from one description of your data.
- Converting and generating TypeScript types, plain objects and test data.
Packages
-
@shapething/shacl-rendererReact forms and views made from SHACLSHACL The W3C standard for describing and validating RDF data. A SHACL file contains shapes. shapes, plus TypeScript types and test data. -
@shapething/typed-sparqlA Vite plugin that generates TypeScript types for the results of your SPARQLSPARQL The query language for RDF, comparable to SQL for relational databases. queries. -
@shapething/resource-fetcherFetches one complete resourceResource Anything that is described in RDF, such as a recipe or a chef. On this site a resource together with all its data is also called a document. from a store or a SPARQL endpoint, optionally guided by a shape. -
@shapething/textstoreFuzzy search on top of any RDF/JSRDF/JS Shared JavaScript interfaces for RDF data and stores. Libraries that follow them, like the ones from ShapeThing, work together. store, using plain SPARQL. -
@shapething/localstoreUse a folder on your computer as a triplestoreTriplestore A database for RDF. It stores triples and answers SPARQL queries.. Chrome only.