NOTE: This overview was written in 2015, more up to date information can be found at https://www.w3.org/community/solid/wiki.
SoLiD is a proposed set of conventions for building decentralized social applications on the Linked Data stack. SoLiD is modular and extensible. It relies as much as possible on existing W3C standards. SoLiD applications are somewhat like multiuser applications where instances talk to each other through a shared filesystem, and the Web is that filesystem.
To signup click the link below.
A WebID identity certificate will be installed in your browser, which will allow you to access your data space and SoLiD apps.
Please signup (above) to get started, if you are new to SoLiD.
After creating an account you may browse your file system. Normally you will be provided with a link after the singup process.
- Upload and edit data files and directories
- Upload html files
- Upload photos
An example public directory can be found here.
After using the file storage system, you may want to try out or install some SoLiD apps (see below).
Apps are designed to be able to be run in a variety of places, often including on your own desktop. Here are some examples apps:
- Warp -- https://github.com/linkeddata/warp
- Profile editor -- https://github.com/linkeddata/profile-editor
- Cimba -- https://github.com/linkeddata/cimba
- Meeting scheduler -- https://github.com/linkeddata/app-schedule
- Contacts manager -- https://github.com/linkeddata/contacts
- Todo list -- https://github.com/mzereba/todo
- Hello World Test App -- https://github.com/melvincarvalho/helloworld
You are encouraged to run your own SoLiD server and join the mesh. Servers currently under development:
- Servers are application-agnostic, so that new applications can be developed without needing to modify servers. For example, even though LDP 1.0 contains nothing specific to "social", many of the SocialWG User Stories can be implemented using only application logic, with no need to change code on the server. The design ideal is to keep a small standard data management core and extend it as necessary to support increasingly powerful classes of applications.
- The basic protocol is REST, as refined by LDP with minor extensions. New items are created in a container (which could be called a collection or directory) by sending them to the container URL with an HTTP POST or issuing an HTTP PUT within its URL space. Items are updated with HTTP PUT or HTTP PATCH. Items are removed with HTTP DELETE. Items are found using HTTP GET and following links. A GET on the container returns an enumeration of the items in the container.
- The data model is RDF. This means the data can be transmitted in various syntaxes like Turtle, JSON-LD (JSON with a "context"), or RDFa (HTML attributes). RDF is REST-friendly, using URLs everywhere, and it provides decentralized extensibility, so that a set of applications can cooperate in sharing a new kind of data without needing approval from any central authority.