Solid


On this page

    What is Solid

    Solid is a Web-based decentralization ecosystem where people are in control over their own data.

    Solid achieves this by giving everyone control over their own personal data pod. Applications are completely separate, and have to ask permission to access your data.

    Querying Solid pods with Comunica

    Since Solid and Comunica have a compatible technology stack, Comunica can be used to query over Solid data pods. The default Comunica SPARQL engine can directly be used to query over public Solid data pods as long as you are querying over public data.

    If you want to query over data pods that require authentication, you can use Comunica SPARQL Solid. Hereafter, we list some examples on how to use it from the command line. Please refer to the README of Comunica SPARQL Solid for more details around using it in JavaScript apps, or exposing documents as a SPARQL endpoint.

    Querying an existing document:

    $ comunica-sparql-solid --idp https://solidcommunity.net/ \
      http://example.org/existing-document.ttl \
      "SELECT * { ?s ?p ?o }"
    

    Creating a new document:

    $ comunica-sparql-solid --idp https://solidcommunity.net/ \
      http://example.org/new-document.ttl \
      "INSERT DATA { <ex:s> <ex:p> <ex:o> }"
    

    Updating an existing document:

    $ comunica-sparql-solid --idp https://solidcommunity.net/ \
      http://example.org/existing-document.ttl \
      "INSERT DATA { <ex:s> <ex:p> <ex:o> }"
    

    Please be aware that that there are several open known issues relating to other software.

    LDflex and GraphQL-LD are examples of tools that ship with Comunica SPARQL Solid.