This wiki for newbies is a work in progress. Feel free to add or edit content. A lot of information comes from the Solid chat's and forum. Thanks to all
- 1 Introduction to SOLID
- 2 node-solid-server Pod creation and webid
- 3 Graph Building
- 3.1 Vocabularies and Ontologies
- 3.2 Graph and linked data
- 4 App building
- 5 table of contents
- 6 references
Introduction to SOLID
2. Solid is a web server and data hub. The foundations are based on :
- Sharing of data with personal data control via :
- POD (Personal Online Data/Datastore/Dataspace)
- WebID for identity and authorization control
- Fine-grained data authorization via ACL (Access Control List)
- Separation of data and application
- Linked Data concepts from W3C (World Wide Web Consortium)
- URI kind of URL to identify a data
- Graph representation with triples (Subject, Predicat, Object)
- Vocabularies also called Ontologies
- Open source resources (github, MIT Licence)
3. Actually Solid offers the ability to create POD's on a node-solid-server used as Hub.
You can register Pod's on existing SolidHub and/or make your own SolidHub on your own server/computer or in the cloud with node-solid-server 
Each Pod has access to a few apps through the UI (User Interface). The actual UI is considered as not very friendly. It shall improve with version 5.xx
Solid and the community are building tools and apps. It's mostly a work in progress.
4. Solid is represented by Inrupt.com and a Solid Community.
- Documentation at Inrupt.com https://solid.inrupt.com/docs 
- Solid Community on Github https://github.com/solid/community/blob/master/README.md 
5. Solid source and documentation
- Solid detailed specifications https://github.com/solid/solid-spec 
- Solid Source on Github https://github.com/solid 
- For a extensive list of references, check the awesome-solid 
Chat and forum
- forum : https://forum.solidproject.org 
- chat : https://gitter.im/solid  there are a few specialized chats accessible
What Solid is and isn't
Solid is a specification for servers. The Solid specification is intended to describe servers, also called pods, that are as simple as possible, but no simpler, that will provide access to data resources by WebId in a hierarchical file or with Sparql queries, with notifications on changes.
WebId's are the new thing that enables Solid. They are how people can identify themselves on the web. A WebId is a uri, a link, to a profile that describes a person or an agent that can access resources on the web.
A WebId is not a government issued id. It is more like a persona, one that describes the person or agent to a pod or pods. It is invented by its owner. It identifies that owner only according to its use with a pod. So you can create any WebId, but if a pod knows you by a WebId then you must consistently use that WebId in order to claim or grant access to any data you put on that pod. You can have any number of WebId’s.
Data on a Solid pod can be associated with a list that controls access to it by WebId. The list can be a complicated recipe involving one or many WebId’s. Each resource on a server can have its own access control list, or lists can be applied to containers of resources.
In this way, Solid servers can give rise to many client applications that have all of the features of current social media platforms, and more than that, access to each item of data can be designated for exactly specified users or groups of users. This will cause data silos on centralized servers to be broken up into small servers for each individual or project where data access is controlled by that individual or project.
Solid will precipitate an inversion of control from the current regime of powerful centralized servers and simple clients. Client applications will aggregate and present data according to the WebIds that they have authenticated, and they will become bigger and more highly evolved, and servers will be simpler and smaller and more decentralized.
So how are, to take one example, user comments, better on Solid? The short answer is they aren’t. Yet. Because the apps are not built yet.
But they will be. And user comments will be better because each user can have their comments on their own pod and have complete control of them. No one can delete them. Only those of the users choosing can even see them.
Web of data Concepts
node-solid-server Pod creation and webid
To create a Pod you register on it You will receive a webid or you can use your own webid for authentication if you already have one
Your own Pod and WebID
Solid managed server
You register for a free Pod, a webID with :
note : You can use an already owned webID to authenticate to your Pod
Personal/cloud server installation
You create a node-solid-server and register to it. you create your server where you want : on your computer, server or in the cloud.
You can create a test or beta-production Pod on node.js with npm
You can also create your Pod with Docker
cheat help ...
What to do next
first app : app-on-your-lunch-break  and more ...
Vocabularies and Ontologies
"There is no clear division between what is referred to as “vocabularies” and “ontologies”. The trend is to use the word “ontology” for more complex, and possibly quite formal collection of terms, whereas “vocabulary” is used when such strict formalism is not necessarily used or only in a very loose sense. Vocabularies are the basic building blocks for inference techniques on the Semantic Web." (source W3C)
Triples description languages
It is all about the graph description with triples (Subject, Predicat, Object)
Vocabularies Search databases
Often used vocabularies/ontologies
From highest to lowest formal concept:
@prefix owl: http://www.w3.org/2002/07/owl# # theThing, Class and SubClass relations @prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# # RDF graph relations @prefix foaf: http://xmlns.com/foaf/0.1/ # in relation to Person @prefix dc: http://purl.org/dc/elements/1.1/ # Dublin Core a general Elements @prefix dct: http://purl.org/dc/terms/http://purl.org/dc/terms/ # Dublin Core Terms @prefix solid: http://www.w3.org/ns/solid/terms# # Solid Ontology @prefix xsd: http://www.w3.org/2001/XMLSchema# # offer detailed specifications on values @prefix : http://example.org # your own vocabulary <> by convention <URIoftheCurrentfile> <#> by convention <URIoftheCurrentfile#>
@prefix schema: http://schema.org # general purpose created by Google, yahoo and bing and # mainly created to markup HTML documents in a view # to make them understandable by machine
RDF graph and Queries
Data description : RDF/OWL 
. example triples Mona Lisa Here are examples of RDF triples (informally expressed in pseudocode):
Example 1: Sample triples (informal) <Bob> <is a> <person>. <Bob> <is a friend of> <Alice>. <Bob> <is born on> <the 14th of July 1990>. <Bob> <is interested in> <the Mona Lisa>. <the Mona Lisa> <was created by> <Leonardo da Vinci>. <the video 'La Joconde à Washington'> <is about> <the Mona Lisa>
Query language SPARQL/LDflex
Graph Validation and Viewer
Check and validate RDF documents
JSON-LD Playground Check and validate RDF documents RDF Translator Shapes Constraint Language (SHACL)
Other graph tools
--> easy make a graph & export as turtle with '/t' command. screenshots
Demo : Spoggy functionnalities --> wait 15s & refresh to let the server awake if nothing appear --> see help/tutorial videos for 'how to use Spoggy' --> now working with plug Spoggy to Solid' with the help of solid-file-client
rdflibjs uses solid-auth-client under the hood. So basically, if you're going to read and write RDF, use rdflib. If you're just reading and writing arbitrary files, you can use solid-auth-client by itself
Solid Application Data Discovery Solid App Discovery A browser library for reading and writing to Solid pods Access Control List (ACL)
- HTML/CSS (cheat sheet )
. node.js + npm packages . rdflib.js jsonld.js etc ..... . vue.js react.js etc .... . Polymer2, Polymer3
. solid authorization client --> get authorization to act with a POD (browser) . solid-file-client --> create & manage / update files and folders on a POD (uses rdflib) . solid-auth-cli --> a node/command-line Solid client with persistent login . solid-shell --> a command-line and interactive shell for managing Solid PODs . rdflib.js tutorial  --> access to RDF data rdflibjs.js Api . LDflex --> A DSL for querying Linked Data on the web  Query Playground
Examples of Solid Ressources
A few apps are already delivered with the Pod's : . contacts . chat . meetings . dokieli text editor with linked data
** file manager and editor Solid-ide Web App Source Pod Explorer Web App Source ** play and demos Chess LiveVersion Source RC-LogBook AppLink Source ToDos work in progress LDflex playground Web app Source ** graph Spoggy Graph Web app Source (uk.)graphmetrix.net Online app Source ** Tiddlywiki Web App Source
table of contents
- Solid Web Decentralization Video : https://video.fosdem.org/2019/Janson/solid_web_decentralization.mp4
- Solid Web Decentralization Slides : https://rubenverborgh.github.io/Slides-FOSDEM-2019/
- node-solid-server : https://github.com/solid/node-solid-server
- Inrupt.com docs : https://solid.inrupt.com/docs
- Solid Community : https://github.com/solid/community/blob/master/README.md
- Solid specifications : https://github.com/solid/solid-spec
- Solid sources : https://github.com/solid
- awesome-solid : https://github.com/kustomzone/awesome-solid/blob/master/README.md
- forum : https://forum.solidproject.org https://forum.solidproject.org
- chat : https://gitter.im/solid
- register at https://inrupt.net
- register at https://solid.community
- node-solid-server https://github.com/solid/node-solid-server
- app-on-your-lunch-break : https://solid.inrupt.com/docs/app-on-your-lunch-break
- RDF Turtle W3C Primer : https://www.w3.org/TR/rdf11-primer/
- JSON-LD : https://www.w3.org/TR/json-ld11/