Formal/logical interpretation of WebArch: what is WebArch good for?

Didn't have time so far to send some comments, and so as the
time is over, sending this just for the record, i.e. *no formal
reply is at all expected*.

History premise:
Back in 2002 things were at a much "lower" level, and the
can of worms of the "resource" had not been fully opened (we were
more or less at the "representations"). However, even at
representation level, big problems start to arise the moment
we want to discuss about general principles. At least, if
we want to talk *formally* and logically about general principles
(cf. eg http://lists.w3.org/Archives/Public/www-tag/2002Jan/0077.html )
If intentions are to be colloquial, like in a chat, of course
anything, and the opposite of anything, can be said and suggested.

So now, let's take the viewpoint of what the *formal value* of some
statements is in the current PR webarch doc
(http://www.w3.org/TR/2004/PR-webarch-20041105/ ).

Let's also be quick, as this is, as said, for future record, given
it's off-time.

Major point: formally speaking, the definition of "resource"
as it is now equals to a non-definition.
I.e., formally, webarch does not define a resource.
Not just in the editorial sense (eg, 2.1 states the principle
"identify with URIs" using the term "resource" before it's even defined).
But, precisely in the formal/logical sense: 2.2 is a totally circular
definition, and as such, it is mathematically a non-definition: it's the
same as if it were not there.

Now, as said, in 2002 there were problems with lot of general statements
that were prior bound to representations. Using the term "resource"
now has the effect of using it like a magic wand (eg when talking about
such things like a "resource state").
But the problems, formally, are all still there, and using a
more general word doesn't make them go away.

So, GIVEN there is essentially no *formal definition* of what a resource
is, the following holds true in the current instance of webarch:

*** wherever the word "resource" is used in a statement,   ***
*** such statement is likely to have no formal meaning.    ***

Some consequences: all of these statements:
the "Good practice: Identify with URIs" good practice in 2.l
The "Constraint: URIs Identify a Single Resource" in 2.2
The "Good practice: Avoiding URI aliases" in 2.3.1
The "Good practice: Consistent URI usage" in 2.3.1
The "Good practice: Reuse URI schemes" in 2.4
The "Good practice: URI opacity" in 2.5
The "Principle: Safe retrieval" in 3.4
The "Good practice: Consistent representation" in 3.5.1
The "Good practice: Link identification in 4.4"

have no formal meaning at all.

There are many more parts of the document that follow under
the same reasoning, but above just the main statements are
considered for the sake of clarity.

Consequence: all those corresponding parts in webarch can have
no normative status whatsoever, in terms of deciding whether
one of the above applies or not to a particular instance:
that will be always a matter of personal taste and debate.

Secondary consequence (more W3C-process oriented): it is
at all unreasonable to place the above
parts of webarch as formal dependencies on future W3C recs.

Conclusion: what is the webarch document good for?
There are slippery slopes in terms of formal problems in many parts
here. When leaving webarch to the level of philosophical treaty or
so, all the formal problems vanish, as there is no need for formal
statements and formal verifications and formal decisions. This is the
level where people should feel comfortable with the current webarch.
Under such interpretation, webarch is a truly enjoyable reading, which
can and does offer many occasions for good thinking: pure food for thought.
Every stronger interpretation (in terms of authority) of the current
webarch is bound to, formally and logically, fail. The missed opportunity
is that, in some cases, some less problematic parts of webarch could be
in fact brought forth with much more strength (see e.g. things like
"Good practice: Namespace adoption" in 4.5.3), while in the current format,
statements of pure "philosophical value" are mixed in the same
document with statements of more substantive/authoritative value.
So maybe, in a future iteration, a neater distinction could be made
between these two components, now intermingled. As currently,
the "philosophical parts" bring down the normative/decisional
value of the whole document, as there are no explicit distinctions in it.

Thanks,
-M

ps And, on another constructive note: trying to formalize
the "philosophical parts" in webarch, maybe not for the whole WWW but for
some application subset (eg for a fixed URI scheme and/or application
class), can really help a lot every forthcoming application, and as a
consequence the future shaping of the whole WWW.

Received on Sunday, 7 November 2004 03:29:31 UTC