A webpage that explains some of the basic functionalities of Solid! Created by Wouter Kok
Getting started!
This is a Solid Client application to explain you the basics of Solid and is build upon an existing application created by Melvin Carvalho. It is created as part of my master thesis. The goal of this application is to help developers interested in developing Solid applications. Both rdflib and ldflex are used for the basic functionalities, and you can switch between them by commenting the appropriate files in the scripts section. As there is a lot to explain, let me first show you some websites where you can find more information on Solid. The Protocol Specification is an in-depth explanation of the Solid Protocol where you can read more about e.g. authentication, storage, reading and writing resources and more. In the Developer Tools there is a big list of tools that can help developing for Solid. If you are struggling with the interface of your Pod at the Solid Community Server, you can check the Pod Interface User Guide. The cheatsheet and the websites on rdflib and ldflex were helpful towards creating the reading and writing functions. Most other sites speak for themselves.
In short, Solid is a decentralized platform that tackles issues such as the misuse of personal data by letting users create their own personal online data-store (POD). Using a POD, users can store personal data and control who has access to their data. The platform is based on current W3 standards and protocols, using linked-data technologies, and not to forget created by Sir Tim Berners-Lee. Additionally, in my experience everyone on the forum is friendly and willing to help so don't hesitate to ask questions.
The basic functionalities explained on this website are the login, retrieving data (Profile), editing data (Username & Role), and adding new data (Country), for which I actually use the same function. These functionalities will give you a starting point to further expand upon in your own application.
Create a Pod with one of the Pod Providers
The creation of a POD happens at a Pod provider that runs a Identity Profile Server (also Solid server). You could run a Solid server yourself as well, for examle the Node Solid Server. After you have created a Pod, you will be able to log in here using the WebID that resolves to your profile document. For more information on WebIDs and the Solid authentication and authorization process, go here.
Inrupt accounts currently have authentication issues in this application, so it is advised to test with an account at "solidcommunity.net".
Login with your Solid Pod
Normally, the application would ask permission for using your data. If it skips that part, you should add "https://wkokgit.github.io" (or your local ip when running locally) to your trusted applications with Read, Write and Append access (your choice of course), otherwise editing and reading data doesn't work.
Retrieving data: Profile
All data in your Solid POD is linked-data. The data is stored as a graph, which is something to get used to for developers attuned to other data structures. Therefore, it is advised to check "Other helpful websites" above. Your POD is a profile document in which we can query different properties, see the code for more information.
Profile link:
Name:
Role:
Country:
Mail:
Friends:
Updating data: Name & Role
Updating data is quite different in rdflib and LDFlex. However, both send a patch request over the web to edit the correct property. Check the code for more information.
Update your Name
Update your Role
Add / Update your country
This is a demonstration of adding new data to your POD. The country-name has not been set yet (except when another application has set it). To make sure it isn't set yet, go to your POD profile/card#me. Log-in, go to the 4th tab (XML source) and look for n:country-name. Then, type in your country-name below, and press update. Now the country-name should be added in your XML source. The updating and adding part both use the same function.