[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Re: [xml-dev] RESTful operations on document fragments
- From: "W. E. Perry" <wperry@fiduciary.com>
- To: "Simon St.Laurent" <simonstl@simonstl.com>
- Date: Tue, 26 Feb 2008 14:50:52 -0500
"Simon St.Laurent" wrote:
> I guess WebDAV looks a lot to me like the recently proposed PATCH. I don't
> think adding a huge pile of verbs is the right answer to a problem that
> consists primarily of needing to identify nouns more preciesely.
Amen. Ten years ago I first joined discussion on this list specifically in
response to Peter Murray-Rust quoting Demokritos: "Nothing exists except atoms
and empty space - all else is opinion". The fundamental function of markup is
to identify--to define--instance atoms, by delineating a run of 'text' and
labelling it with a GI. The entity thus identified is, by any functional
definition, a noun. It is at once both a single instance noun, anchored in a
specific textual context, but also by virtue of the generic identifier which
labels it, it is asserted as a member of the class of atoms which bear its
label--just as the existence of that class is attested by the presence of the
instance atom. The granularity of that atom, however, is a molecular opinion.
We see examples of this in every minute we work with markup: your <address>
and my <address>, by whatever names we might call them, are congruent atoms,
and there is an easy, mechanical mapping between them at that level of
atomicity. However, considered as a molecule--that is, as an opinion of
granularity--your <address> may require two <street> nouns, and one <city>
while having no concept of <state>, and mine may have one required and one
optional <street>, as well as required <state> and <postcode>. At that
molecular level there is no useful mapping between your syntax and mine.
Ten years ago, by severing well-formedness from schematic validity, XML
separated the question of existence (the atomic reality) from questions of
form (the molecular opinions). Philosophically, REST requires precisely the
same distinction: if the resource exists, it can be served in various
representations, as appropriate. For the nouns of an XML instance to be
manipulated by the verbs of REST (and to become thereby Markup on the Web)
requires defining the point of specific intersection between these two
philosophically similar technologies. The most useful such mapping is between
the atomic (or at least always potentially atomic) parseable entity of XML and
the URI-identified resource of REST.
Simon began this thread by not wanting to have to transmit round-trip the
entire 3.3 MB file of the Old Testament in order to correct a typo in a single
verse, but the inescapable fact is that the corrected resource is not the same
as the original one. Perhaps it is easier to admit that truth if the corrected
version actually marks up the corrected text by inserting a new parseable
entity, since it is then clear that the molecular structure--and the
atomicity--of the two versions are different, and therefore beyond a simple
substitution mapping. Yet even if the only entity in both versions is the
document itself--and even if the only purpose of the change was to correct the
apparent error of a typo--the original version, once published, has acquired a
reality and an integrity which should not be extinguished. This is not a
trivial nor a tendentious point. Consider e.g. the Aristotelian taxonomy of
life as it has evolved through scientific progress: new hypotheses borne out
in experimental results are continually 'correcting errors' in the old
understanding, generally by substituting different molecular opinions--and
thereby differing granularities--at various points of the taxonomic tree. Yet
the older versions cannot be abandoned, because they have attracted
scholarship, sometimes over many centuries, which would be orphaned by
obliterating the molecular structure in which it is rooted. I consider this a
fundamental point of intellectual honesty, and perhaps it is easier to grasp
it as such if we understand that substituting one molecular structure--one
hypothesis--for another, however better the new version tracks the empirical
data, is simply the adoption of a new opinion, which is itself likely to give
way to something else in the future, however much scholarship it may attract
before doing so.
As a practical matter, we need to accept resources as inherently mutable by
version while fixed by instance expression. In designing the system that Simon
is looking for, we should build a database engine which works like the
Subversion delta editor before it invokes the REST verbs to handle the
creation and maintenance of URI-identified resources. A versioning filesystem
is obviously not a new suggestion. Its appropriateness here, however, is
rooted in the philosophical premises which it shares with both REST resources
and XML entities about what is the ultimate nature of a noun, or an atom.
Respectfully,
Walter Perry
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]