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.

Packages

  • @shapething/shacl-renderer React 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-sparql A 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-fetcher Fetches 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/textstore Fuzzy 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/localstore Use a folder on your computer as a triplestoreTriplestore A database for RDF. It stores triples and answers SPARQL queries.. Chrome only.