-
Notifications
You must be signed in to change notification settings - Fork 0
/
gsp.bs
130 lines (107 loc) · 3.96 KB
/
gsp.bs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<pre class='metadata'>
Title: Solid GSP
Shortname: solid-gsp
Level: 1
Status: CG-DRAFT
Group: solidcg
Repository: solid/erp
URL: http://example.com/url-this-spec-will-live-at
Dark Mode: off
Editor: Maxime Lecoq-Gaillard
Abstract: This document is a Solid client-client protocol defining an entity providing goods and/or services that is stored in a Solid storage.
Complain About: accidental-2119 yes, missing-example-ids yes
Markup Shorthands: markdown yes, css no
</pre>
<pre class="biblio">
{
"webid": {
"href": "https://www.w3.org/2005/Incubator/webid/spec/identity/",
"title": "WebID 1.0",
"authors": [
"Tim Berners-Lee",
"Henry Story",
"Andrei Sambra"
]
},
"solid-webid-profile": {
"href": "https://solid.github.io/webid-profile/",
"title": "Solid WebID Profile",
"authors": [
"Tim Berners-Lee",
"Sarven Capadisli",
"Virginia Balseiro",
"Timea Turdean",
"Jeff Zucker"
]
},
"type-indexes": {
"href": "https://solid.github.io/type-indexes/",
"title": "Type indexes",
"contributors": [
"Tim Berners-Lee",
"Sarven Capadisli",
"Virginia Balseiro",
"Jeff Zucker"
]
},
"solid-goods-services": {
"href": "https://solid.github.io/erp/goods-services.html",
"title": "Solid Goods and Services",
"authors": [
"Maxime Lecoq-Gaillard"
]
}
}
</pre>
# Terminology # {#terminology}
## Namespaces ## {#namespaces}
<table>
<tr>
<th>Prefix</th>
<th>Namespace</th>
<th>Description</th>
</tr>
<tr>
<td>rdf</td>
<td>http://www.w3.org/1999/02/22-rdf-syntax-ns#</td>
<td>[[!rdf-schema]]</td>
</tr>
<tr>
<td>foaf</td>
<td>http://xmlns.com/foaf/0.1/</td>
<td>[[!foaf]]</td>
</tr>
<tr>
<td>dfc-b</td>
<td>https://github.com/datafoodconsortium/ontology/releases/latest/download/DFC_BusinessOntology.owl#</td>
<td>[Data Food Consortium ontology](https://github.com/datafoodconsortium/ontology)</td>
</tr>
</table>
# GSP # {#goods-services-provider}
A Solid Goods and/or Services Provider (GSP) is a object in a Solid storage which holds data
about an entity that provides goods and/or services.
A Solid GSP is 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/myBusiness/*. Developers must never make assumptions
about where a Solid GSP is stored as users should be able to choose the location they want.
The GSP object is defined in the `$ROOT/index` document. The RDF type of the GSP is `dfc-b:Enterprise`.
<div id="example-gsp" class="example" heading="A GSP document in turtle">
<pre class="include-code">
path: ./examples/gsp.ttl
highlight: turtle
</pre>
</div>
Other properties can be defined like listed in the GSP shape below (TBD).
## Access rights ## {#enterprise-access-rights}
By default, the GSP container is private. When one wants to make the GSP 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.
## Discovery ## {#enterprise-discovery}
Type indexes is the recommended mechanism to discover Solid GSP. The RDF class to register an instance of a Solid GSP is `dfc-b:Enterprise`. Type indexes MUST only register the GSPs owned by the WebId owner. See [[!type-indexes]].
# Products and services # {#products-services}
Solid products are defined in [[!solid-goods-services]].
Supplied products are stored in the `$ROOT/supplied-products/` container.
# Catalogs # {#catalogs}
Supplied products are stored in the `$ROOT/catalogs/` container.
# Third parties # {#third-parties}
Supplied products are stored in the `$ROOT/third-parties/` container.
# Orders # {#order}
Supplied products are stored in the `$ROOT/orders/` container.