Solid Goods and Services

Draft Community Group Report,

More details about this document
This version:
http://example.com/url-this-spec-will-live-at
Issue Tracking:
GitHub
Editor:
Maxime Lecoq-Gaillard

Copyright © 2024 the Contributors to the Solid Goods and Services, published by the Solid Community Group under the W3C Community Contributor License Agreement (CLA). A human-readable summary is available.


Abstract

This document is a Solid client-client protocol defining products and services stored in a Solid storage.

Status of this document

This report was published by the Solid Community Group. It is not a W3C Standard nor is it on the W3C Standards Track. Please note that under the W3C Community Contributor License Agreement (CLA) there is a limited opt-out and other conditions apply. Learn more about W3C Community and Business Groups.

1. Terminology

1.1. Namespaces

Prefix Namespace Description
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# [rdf-schema]
foaf http://xmlns.com/foaf/0.1/ [foaf]
dfc-b https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_BusinessOntology.owl# Data Food Consortium ontology

2. Generalities

A Solid product is a object in a Solid storage (or POD) which holds data about a product that can be provided by a Goods/Services Provider (GSP), see [solid-gsp].

There are different types of products: § 3 Functional products, § 4 Technical products, § 5 Supplied products, § 6 Localized products and § 7 Physical products.

Solid products are all built inside a single folder (LDP Container) in a Solid storage. Let us call the URI of that folder -- less its final '/' -- $ROOT. It could be say, https://alice.example.org/myProduct/. Developers must never make assumptions about where a Solid product is stored as users should be able to choose the location they want.

The product object is defined in the $ROOT/index document.

2.1. Access rights

By default, the products container are private. When one wants to make a product public, private properties can still be defined in a separated private document, let’s says $ROOT/index-private, linked with the public $ROOT/index document using the rdfs:seeAlso predicate.

2.2. Discovery

TDB.

3. Functional products

TBD.

4. Technical products

TBD.

5. Supplied products

A Solid SuppliedProduct follows the rules defined in the § 2 Generalities section.

The RDF type of the SuppliedProduct is dfc-b:SuppliedProduct.

For instance a "tomato" SuppliedProduct would be stored at https://alice.example.org/tomato/index:

EXAMPLE: A Supplied Product document in turtle
@prefix dfc-b: <https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_BusinessOntology.owl#>.

<>
    a dfc-b:SuppliedProduct;
    dfc-b:name "Tomato".

6. Localized products

TBD.

7. Physical products

TBD.

Conformance

Document conventions

Conformance requirements are expressed with a combination of descriptive assertions and RFC 2119 terminology. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in the normative parts of this document are to be interpreted as described in RFC 2119. However, for readability, these words do not appear in all uppercase letters in this specification.

All of the text of this specification is normative except sections explicitly marked as non-normative, examples, and notes. [RFC2119]

Examples in this specification are introduced with the words “for example” or are set apart from the normative text with class="example", like this:

This is an example of an informative example.

Informative notes begin with the word “Note” and are set apart from the normative text with class="note", like this:

Note, this is an informative note.

References

Normative References

[FOAF]
Dan Brickley; Libby Miller. FOAF Vocabulary Specification 0.99 (Paddington Edition). 14 January 2014. URL: http://xmlns.com/foaf/spec
[RDF-SCHEMA]
Dan Brickley; Ramanathan Guha. RDF Schema 1.1. URL: https://w3c.github.io/rdf-schema/spec/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119

Informative References

[SOLID-GSP]
Maxime Lecoq-Gaillard. Solid GSP. URL: https://solid.github.io/erp/gsp.html