Solid Technology

http://talks.kjernsmo.net/solid/2019/ldsv-ws.html

Solid gives

  • Everyone a Pod, where you can store and manage your data
  • Everyone an identity, a WebID
  • An authorization system with fine grained control
  • Takes advantage of various security mechanisms

Solid specifications

Linked Data Platform

Defines a read-write interface through HTTP methods

WebID

Has several authentication methods

  • WebID with OpenID Connect
  • WebID with TLS client certicates
  • WebID with the SAFE Network
  • future options

Access Control Lists


@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@base <https://solid.kjernsmo.net/profile/>

<card.acl#owner>
    a acl:Authorization;
    acl:agent <card#me>;
    acl:accessTo <card>;
    acl:mode
        acl:Read, acl:Write, acl:Control.
<card.acl#public>
    a acl:Authorization;
    acl:agentClass foaf:Agent;
    acl:accessTo <card>;
    acl:mode acl:Read.

Access Control Lists with Origin


<card.acl#owner>
    a acl:Authorization;
    acl:agent <https://yourdomain.org/profile/card#me>;
    acl:accessTo </my/data>;
    acl:origin <https://trustworthy.com>
    acl:mode acl:Read .
  

Focus on Developer Tools

Server-side

  • Intelligence is intended to be mostly on the client side
  • Some things, e.g. semantic lifting could happen on the server side
  • What would make it easy for you to run a Solid server?

Solid frontend is framework agnostic

  • React
  • Solid-panes (i.e. Data browser)
  • Native
  • whatever

LDFlex

Path expressions:


      person.firstName
      

How these map to RDF is defined with JSON-LD

Say


      await person.firstName
      

...and it is transformed to a SPARQL query that is used to actually fetch the data from the Web.

What do you think Solid could be used for?