- Notifications
You must be signed in to change notification settings - Fork39
Library for accessing data and managing permissions on data stored in a Solid Pod
License
inrupt/solid-client-js
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project adheres to the Contributor Covenantcode ofconduct. By participating, you are expected to uphold thiscode. Please report unacceptable behavior toengineering@inrupt.com.
@inrupt/solid-client is a JavaScript library for accessing data and managingpermissions on data stored in Solid Pods. It provides an abstraction layer ontop of both Solid and Resource Description Framework (RDF) principles and iscompatible with the RDF/JS specification. You can use solid-client in Node.jsusing either CommonJS or ES modules, and in the browser with a bundler likeWebpack, Rollup, or Parcel.
@inrupt/solid-client is part of a family open source JavaScript librariesdesigned to support developers building Solid applications.
@inrupt/solid-clientallows developers to access data and manage permissions on data stored in SolidPods.
@inrupt/solid-client-authn-browserallows apps running in a browser to authenticate against a Solid server. This isonly necessary if you wish to access private resources in a Pod (to accesspublic resources you could simply use standardfetch()
).
A fundamental requirement for any two systems to interoperate at all is thatthey have a shared understanding of the concepts and ideas relevant to thosesystems. That shared understanding is expressed as a common 'language', and theindividual terms from that language are typically described and explained indictionaries.
The Solid eco-system uses RDF vocabularies (or slightly more formally,'ontologies') to describe concepts and ideas in a machine-readable, W3Cstandardized format (effectively, these RDF vocabularies act as dictionaries forsystems to share concepts and ideas).
There are already many common vocabularies published on the web, such as thevCard vocabulary for describing the conceptsand ideas associated with People and Organizations, orSchema.org for describing the things search engines aretypically interested in, intended to be used by webmasters to mark up theirpages in ways that those search engines can then understand.
As a convenience for JavaScript developers, Inrupt publishes various npm modulesthat provide JavaScript classes containing constants representing the individualterms described in many of these vocabularies today, including modulesspecifically for Solid-related vocabularies, and for Inrupt-specificvocabularies.
By simply importing one of these NPM modules, developers have immediate accessto all the terms described in all the RDF vocabularies referenced by thatmodule.
This module bundles together JavaScript classes representing many of the mostcommon RDF vocabularies published on the web today (e.g. FOAF, Schema.org,vCard, SKOS, etc.):@inrupt/vocab-common-rdf
This module bundles together JavaScript classes representing all the RDFvocabularies related to Solid (e.g. Solid terms, WebACL, ACP, etc.):@inrupt/vocab-solid-common
This module bundles together JavaScript classes representing all the RDFvocabularies created and maintained by Inrupt (e.g. an Inrupt test vocabulary,Inrupt glossaries, Inrupt product vocabularies, etc.):@inrupt/vocab-inrupt-common
Our JavaScript Client Libraries use relatively modern JavaScript, aligned withtheES2018 Specification features, weship bothESM andCommonJS, with typedefinitions for TypeScript alongside.
This means that out of the box, we only support environments (browsers orruntimes) that were released after mid-2018, if you wish to target other (older)environments, then you will need to cross-compile our SDKs via the use ofBabel,webpack,SWC, or similar.
If you need support for Internet Explorer, it is recommended to pass themthrough a tool likeBabel, and to add polyfills for e.g.Map
,Set
,Promise
,Headers
,Array.prototype.includes
,Object.entries
andString.prototype.endsWith
.
SeeInrupt Solid Javascript ClientLibraries.
For the latest stable version of solid-client:
npm install @inrupt/solid-client
For the latest stable version of all Inrupt Solid JavaScript libraries:
npm install @inrupt/solid-client @inrupt/solid-client-authn-browser @inrupt/vocab-common-rdf
If you have questions about working with Solid or just want to share what you’reworking on, visit theSolid forum. The Solidforum is a good place to meet the rest of the community.
- For public feedback, bug reports, and feature requests please file an issueviaGithub.
- For non-public feedback or support inquiries please use theInrupt ServiceDesk.
Seethe releasenotes.
MIT ©Inrupt
About
Library for accessing data and managing permissions on data stored in a Solid Pod