Solid Project
Solid Project
_____________________________________________________________________________________________________
17-Nov-2022
What is Solid?
Solid means SOcial LInked Data
Solid is an attempt to re-decentralize the web.
Solid is a tech stack, a group of related protocols and
implementations,
Provides neat separation of app and data thus allowing users
to control and migrate data independent of Apps.
Solid defines
1. Authentication
2. Authorization (and access control)
3. Content representation
4. Identity
5. Profiles
6. Resource (reading and writing) API
7. Social Web App Protocols for Notifications, Friends
Lists, Followers, Following etc
What is Pod?
Pods are secure personal web servers for data allowing users
to control data thus allowing the same data to be used by
different Apps as per permissions.
stores linked data
Users store data wherever they want. Your personal data likely
resides on your pod. Each data-set residing on Pod is
accessible through a unique URL, controlled using
Authorization.
Solid Project 2/9
_____________________________________________________________________________________________________
WEBID
It is a resource Identifier used to identify Agents i.e.
people and organisations as well as to manage their access
rights though Web Access Control.
Solid Project 4/9
_____________________________________________________________________________________________________
Authentication Example
We are using "@inrupt/solid-client-authn-browser" Library
//Get DataSet
const myDataset = await getSolidDataset(
profileDocumentUrl,
{ fetch: session.fetch }
);
Containers
A container is an organiser for SolidDatasets.
A Container can contain SolidDatasets and other Resources,
including other Containers. Containers are analogous to
folders in a directory structure.
URLS
URL OF POD
https://storage.inrupt.com/<Pod Identifier>
);
return messageList;
}
}
}
RDF Schema
Schema.org vocabularies are developed by an open community
process.
A shared vocabulary makes it easier for webmasters and
developers to decide on a schema and get the maximum benefit
for their efforts. It is in this spirit that the founders,
together with the larger community have come together - to
provide a shared collection of schemas.
Organization of Schemas
The schemas are a set of 'types', each associated with a set
of properties. The types are arranged in a hierarchy.
Solid Project 8/9
_____________________________________________________________________________________________________
@prefix : <#>.
@prefix cal: <http://www.w3.org/2002/12/cal/ical#>.
@prefix schema: <http://schema.org/>.
@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.
:166868977026629556281389725747
schema:text "Test"; cal:created
"2022-11-17T12:56:10.266Z"^^xsd:dateTime.
:16686898353003048445806857345
schema:text "Another Message";
cal:created "2022-11-17T12:57:15.301Z"^^xsd:dateTime.
:166869010453531686706272966414
schema:text "Test2"; cal:created
"2022-11-17T13:01:44.535Z"^^xsd:dateTime.
IRI
The Internationalized Resource Identifier (IRI) is an
extension of URI that may additionally contain most characters
from the Universal Character Set (Unicode/ISO 10646).
Vocabularies
Used to make data independent from applications, so that one
can be in control of his/her own data and share it with the
apps of his/her choice. Thus universal data format is
required. This allows Apps to understand and validate
structured data in a seamless manner.
Creating vocabulary is a step by step process. More details:
https://solidproject.org/developers/vocabularies/create/quickstart
Solid Project 9/9
_____________________________________________________________________________________________________