Generic.html
11.2 KB
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 13), see www.w3.org" />
<title>
Web Architecture: Generic Resources
</title>
<link href="di.css" rel="stylesheet" type="text/css" />
<link href="http://www.w3.org/2006/gen/ont" rel="related" />
<meta http-equiv="Content-Type" content="text/html" />
</head>
<body>
<p>
<a href="../TheProject.html"><img border="0" alt="W3c" src=
"../Icons/WWW/w3c_home.gif" width="72" height="48" /></a>
<!-- Find an icon for Design Issues
<IMG border=none SRC="../Icons/WWW/arch_48x48.gif" ALT="Design Issues">
-->
</p>
<p>
<i>This is a statement of achitectural principles behind my
thinking on web design. This was the thinking behind the
original HTTP content negotiation of 1992, and the vary=
fields in the URI: headers for example. It has been behind
W3C thinking on the OBJECT header for HTML and other issues.
- TBL, 1996</i>
</p>
<p>
<em>This is an important axiom of web design, which must be
understood for new designs to use URIs and HTTP properly. -
TimBL, 2000</em>
</p>
<p>
<a href="Overview.html">Up to Design Issues</a>
</p>
<p>
Axioms of Web Architecture: 3
</p>
<hr />
See also:
<ul>
<li>
<a href="../MarkUp/Resource/Specification">A proposal for
an HTML "Resource" element</a>
</li>
<li>
<a href="Formats.html">Historical web design note on
formats</a>
</li>
<li>
<a href="../Protocols/">HTTP overview by W3C</a>
</li>
</ul>
<h1>
Generic Resources
</h1>
<p>
A URI represents a <b>resource</b>
</p>
<p>
A "resource" is a conceptual entity (a little like a Platonic
ideal). When represented electronically, a resource may be of
the kind which corresponds to only one posisble bit stream
representation. An example is the text version of an Internet
RFC. That never changes. It will always ha the same checksum.
</p>
<p>
On the other hand, a resource may be <b>generic</b> in that
as a concept it is well specified but not so specifically
specified that it can only be represented by a single bit
stream. In this case, other URIs may exist which identify a
resource more specifically. These other URIs identify
resources too, and there is a relationship of genericity
between the generic and the relatively specific resource.
</p>
<p>
As an example, successively specific resources might be
</p>
<ol>
<li>The Bible
</li>
<li>The Bible, King James Version
</li>
<li>The Bible, KJV, in English
</li>
<li>A particular ASCII rendering of the KJV Bible in English
</li>
</ol>
<p>
Each resource may have a URI. The authority which allocates
the URI is the authority which determines wo what it refers:
Therefore, that authority determines to what extent that
resource is generic or specific.
</p>
<p>
This model is more of an observation of a requirement than an
implementation decision. Multilevel gnericity clarly exists
in all our current life with books and electronic documents.
Adoption of this model simply follows from the rule that Web
design should not arbitrarily seek to constrain life in
general for its own purposes.
</p>
<h2>
Dimensions of genericity
</h2>
<p>
When we discuss electronic resources, an interesting fact is
that a small number of dimensions of genericity emerge.
</p>
<table border="1" cellpadding="2">
<tbody>
<tr>
<td>
Time
</td>
<td>
A resource may vary with time. For example, "The Wall
Street Journal" varies with time. Each issue is a
time-specific resource, which does not change with
time. Most home pages on the Web change with time, in a
less periodic way.
</td>
</tr>
<tr>
<td>
Language
</td>
<td>
When a document is translated, it is useful to be able
to refer to it either in the generic, or to a
particular specific translation.
</td>
</tr>
<tr>
<td>
Content-Type
</td>
<td>
A given resource may have mny ways in which it can be
represented on the wire, using different
<tt>Content-type</tt>s (in HTTP terms). As an example,
an image may be represented in PNG or JFIF format.
</td>
</tr>
<tr>
<td>
Target medium
</td>
<td>
A given resource may be targetted specifically to a
specific medium, such as a printer, being displayed on
laptop screen, being displayed on a cellphone, or being
projected onto a large screen for an audience. (This is
currenltly available for selecting CSS stylesheets, but
is not done at the HTTP content negotiation level)
</td>
</tr>
</tbody>
</table>
<p>
The fact that there are such a small number of dimensions
currently apparent sugests that Web software should handle
them individually in its interface with the user, even though
the architecure should handle them as a single concpet.
</p>
<h2>
Derivation
</h2>
<p>
When a document is translated, one of the language-specific
resources may have been the original source. However, this
need not always be the case. Specific resources may have been
derived from unrelated sources, or multiple sources.
Therefore, though it is interesting to be able to describe
the "derived-from" relationship, this is <em>not</em> part of
the genericity relationship. It is not discused further here.
</p>
<h2>
Genericity Metadata
</h2>
<p>
When making statements about resources, genericity leads two
types of statement. The examples use imaginary HTML elements
or HTTP headers as illustrations of the meaning.
</p>
<h3>
<a name="Dimensions" id="Dimensions">Dimensions</a>
</h3>
<p>
A statement about the genericity of an object is important
both for the user, and also for example for a cache manager.
This statment takes the form of a list of dimensions in which
the resource for a given URI is generic.
</p>
<p>
One proposal was the <tt>vary</tt> field in the <tt>URI:</tt>
header in HTTP:
</p>
<p>
<code>URI: http//foo.com/bar/baz vary=time,language</code>
This is a statement about the relationship between the URI
and the resource. (See also <a href=
"NameMyth.html#QoS">Quality of service of names</a>)
</p>
<h3>
Relationships
</h3>
<p>
The other statement which can be made is about a genericity
relationship between two resources. Typed links provide this
kind of statement. One proposal was
</p>
<pre>
<link rel="language-specific" href="baz.fr">
</pre>
<p>
which means "This resource is a language specific version of
this resource identified by baz.fr" This needs to be combined
in with information about the particualar language.
</p>
<pre>
<resource uri="baz.fr" vary="type, time">
<meta htp-equiv="content-language" value="Fr">
</resource>
</pre>
<p>
So much for the architectural ideas. In practice one would
use a shorthand form for all this information such as
</p>
<pre>
<specific language="fr" uri="baz.fr">
or
<specific language="fr" ct="text/html" uri="baz.fr.html">
</pre>
<h2 id="Using">
Using RDF to model this
</h2>
<p>
There is now an RDF ontology for these concepts, <a href=
"http://www.w3.org/2006/gen/ont">http://www.w3.org/2006/gen/ont</a>.
The ontology does not describe the target-medium dimension.
(Please use that instead of the old one desribed here in
2000-09.)
</p><!--
<h2 id="UsingOld">Old ontology RDF to model this</h2>
<address>
Added 2000/09
</address>
<p></p>
<p>Now that the RDF metadata architecure is developed, we can model genericity
using a set of properties to represent these relationships. The natural way to
do this is to define classes for the one-parameter flags such as
time-invariant, language-invariant, etc and properties such as
isLangaugeSpecificVersionOf.</p>
<table border="1">
<caption>Classes</caption>
<tbody>
<tr>
<th>Class name</th>
<th>Significance</th>
</tr>
<tr>
<td>u:TimeInvariant</td>
<td>The relationship between a representation of this resource and the
URI will not change over time</td>
</tr>
<tr>
<td>u:LanguageInvariant</td>
<td>The relationship between a representation of this resource and the
URI will not change no matter what language is requested.</td>
</tr>
<tr>
<td>u:ContentTypeInvariant</td>
<td>The relationship between a representation of this resource and the
URI will not change s a function of content negotiation of MIME
type</td>
</tr>
<tr>
<td>u:Fixed</td>
<td>The relationship between a representation of this resource and the
URI will not change nder any circumstances</td>
</tr>
</tbody>
</table>
<p>u:Fixed is a subclass of each of the other three. P3P policies are supposed
to be in u:Fixed.</p>
<table border="1">
<caption>Properties</caption>
<tbody>
<tr>
<th>Property name</th>
<th>Significance</th>
<th>Domain</th>
<th>Inverse property name</th>
</tr>
<tr>
<td>u:isVersionOf</td>
<td>A is one of the specific versions of a time-generic resource B</td>
<td>u:TimeInvariant</td>
<td>u:hasVersion</td>
</tr>
<tr>
<td>u:isLanguageSpecficVersionOf</td>
<td>A is one of the specific languages (in the sense of HTTP
content-langauge) of a langauge-generic resource B</td>
<td>u:LanguageInvariant</td>
<td>u:hasLanguageSpecificVersion</td>
</tr>
<tr>
<td>u:isContetntTypeSpecificOf</td>
<td>A is one of the specific content-type-specific resources (in the sense of HTTP
Content-type) of a generic resource B</td>
<td>u:ContentTypeInvariant</td>
<td>u:hasContentTypeSpecificResource</td>
</tr>
</tbody>
</table>
<p></p>
<p>There is no assurance when one of these properties is used that either
subject or object is not itself invariant. In other words, if one states of
two identical TimeInvariant resources that one is a version of the other, that
is consistent. The promise that neither will change can be made later as a
consistent with an earlier promise that one will not change.</p>
-->
<hr />
<p>
<a href="../"><img src="../Icons/WWW/w3c_48x48" /></a>
</p>
<address>
<a href="../People/Berners-Lee">(c)Tim BL 1996</a>
</address>
</body>
</html>