- From: David Booth <david@dbooth.org>
- Date: Fri, 04 Mar 2011 13:53:27 -0500
- To: Jonathan Rees <jar@creativecommons.org>
- Cc: AWWSW TF <public-awwsw@w3.org>
More comments below . . . On Tue, 2011-03-01 at 08:40 -0500, Jonathan Rees wrote: > On Mon, Feb 28, 2011 at 2:36 PM, David Booth <david@dbooth.org> wrote: > > I thought I would take this opportunity to provide some feedback on > > Jonathan's draft: Requirements for Any Theory of "Information Resource". > > http://www.w3.org/2001/tag/awwsw/ir-axioms/20110225 > > > > 1. Regarding: > > [[ > > The challenges to explaining "information resource" are: (1) to make > > "information resources" logically independent of Web dereference (and in > > particular the HTTP protocol), while saying rigorously what it means for > > one of them to be "on the web" at a given URI > > ]] > > Perhaps define an abstract "AGET", which is implemented as GET in the > > HTTP protocol, and in other ways by other protocols. > > Not sure what problem this solves or where to work it into the text. > Is there some confusion in the abstract that needs to be straightened > out? Sorry, I wasn't proposing a change. I was just noting how this is usually handled in software engineering. You can ignore my comment. > > > 2. Regarding: > > [[ > > The main contribution of this note is to say that the properties of an > > information resource are those that are invariant over its > > "representations". > > ]] > > That sounds pretty good. But isn't something like that true of *all* > > resources? As in "the properties of a resource are those that are > > always true of that resource"? BTW, those invariants are the assertions > > that should be included in the URI's declaration. > > Um, no, the statement isn't trivial. It relates representation > properties to IR properties in a testable manner, and it only applies > to certain properties. > > I took a risk that I could leave it as "the properties" here, but you > have shown me that this needs to be qualified. Will change the > wording, how about this? > > The main contribution of this note is to say that many > important properties of > an information resource are invariant over its > "representations". If one knows such a property of an information > resource, one can make falsifiable predictions about its retrieved > "representations", and knowing about the "representations", one can > conclude properties of the information resource. I actually think your original wording was good enough -- perhaps better, because it is shorter. Again, I did not mean to suggest that a change to the text is needed, I was merely commenting. > > > > 3. Regarding: > > [[ > > 'Has reading' is not functional, because we want to admit > > interpretations where readings vary by media type, language, session, > > time, whim, etc. > > ]] > > But you could make 'has reading' functional: just include time and > > request as arguments, as in ftrr:InformationResource > > http://lists.w3.org/Archives/Public/public-awwsw/2008Apr/0046.html > > Or you could let the request be broken apart into multiple variables. > > This would be just one particular interpretation. It is not a > requirement and I see no reason to try to foist that particular model > on everyone. > > (I have said this to you dozens of times over the years and just don't > understand why we're not communicating.) Uh . . . I don't know what pushed your button on that one, since this was the first time I had even seen the 'has reading' relation, but: 1. The sentence in your draft said "'Has reading' is not functional, *because* . . . ." (my emphasis). The word "because" suggests that 'has reading' *must* not be functional, for the reason given. I was pointing out that the fact that readings could indeed "vary by media type, language, session, time, whim, etc.", but "has reading" could *still* be functional. If you don't want it to be functional for other reasons, then fine, but it is wrong to imply that it is functional *because* "readings vary by media type, language, session, time, whim, etc.". 2. Regarding your comment about my attempt to "foist" a functional model on everyone, you have introduced a *relation* 'has reading'. A function is a special kind of relation. Generally when one is attempting to model or explain something, it is best to choose the *most* specific designator that is applicable -- "function" being more specific than "relation". Furthermore, being functional corresponds closely Roy's REST model, RFC 2616 and the way a web server works: it receives a request at a particular time and returns a result that depends only on the request and (conceptually) the time. (The time parameter is a catch-all to account for any other outside stimulus, such as current weather conditions.) So let me turn this around: if 'has reading' *can* be defined to be functional, why *not* do so? If it would add more complexity than would be worthwhile, then fine, let's not do it. But I *do* think there is value in doing it if it doesn't add too much complexity, because it would correspond more closely to the real world. > > > If we consider a set of variables v1..vn under which 'has reading' > > becomes functional: f(v1, ... vn), then when you talk about metadata > > properties: > > [[ > > Let P be a metadata property, let R be an 'information resource', and > > let x be a member of the range of P. Then P(R,x) if and only if P(S,x) > > holds for all readings S of R. > > ]] > > I wonder if there would be a way to > > > > I like the general direction you're going in, when you talk about > > metadata properties: > > [[ > > Let P be a metadata property, let R be an 'information resource', and > > let x be a member of the range of P. Then P(R,x) if and only if P(S,x) > > holds for all readings S of R. > > ]] > > However, I'm not certain of the "only if" direction. The "only if" > > direction seems to be saying that R cannot have any property that is not > > observable through some S. Maybe that's correct -- I'm not sure. It > > reminds me of the discussion of intensional versus extensional semantics > > in RDF > > http://www.w3.org/TR/rdf-mt/#glossIntensional > > You need one direction in order to be able to write metadata. You need > the other in order to interpret it. The whole framework is vacuous, > inconsequential, if you remove either direction. Yes, that sounds good. > > > If you think of R as a function f of a set of n variables v1..vn: > > f(v1, ... vn), and c1 is a constant and f1 is a derived function of n-1 > > variables v2..vn such that: > > > > f1(v2, ... vn) = f(c1, v2 ... vn) > > > > then it makes sense to try to relate properties that hold of f to > > properties that hold of f1, but how? Perhaps it can be done if we > > restrict those properties to ones whose truth is determined solely by > > the observable values of f(v1, ... vn): > > > > MP is the set of properties with domain 'information resource' > > such that for any P in MP and any information resource f, there > > is a corresponding property ("little-p") p, such that: P(f) iff > > p(f(v1, ... vn)) for all values of v1..vn. BTW, I should have said there is a *particular* p ("little-p") for each P -- let's call it lp(P) to avoid relying on uppercase/lowercase distinctions. So: P(f) iff lp(P)(f(v1, ... vn)) for all values of v1..vn > > > > Maybe something like this is what you're getting at? > > I'm not getting at that particular model, but that seems like a fine > way to interpret the theory, if it helps. I wasn't proposing an *interpretation* of the theory. I was brainstorming about other ways the theory might be defined -- ways that could correspond more closely to existing practice. Just brainstorming. > > If you're saying there's a missing axiom then that's something I'd > like to know. > > > 4. I like this idea: > > [[ > > The IR must 'fess up' to things that all of its readings do. This rules > > out pathologies where something is P-related to all of a document's > > translations but not to the IR itself. The practical benefit is that it > > lets you 'gamble' on hypotheses of an IR formed by investigating a > > number of its readings. You're not guaranteed to be right, but you may > > be willing to act on the hypothesis. > > ]] > > I think this is the answer to the question you asked about the two > directions of the 'iff'? Yes. > > > 5. Regarding: > > [[ > > (def) An 'information resource' is 'bound to' a URI iff every simple IR > > that is 'authorized for' the URI 'is a reading of' the information > > resource. > > > > This formalizes "on the web". > > ]] > > > > I think that's a pretty good definition of something, but I'm not sure > > it formalizes the notion of an information resource being "on the web", > > since that definition only talks about the binding between a URI and an > > information resource. Usually when something is "on the web", there are > > representations available via GET. > > Hmm. You're right, maybe I should strike the comment as misleading. > For now I just added a disclaimer: > > <p>This formalizes "on the web", at least in part. (You might > expect other things to hold as well.)</p> Yes, that helps. I suggest further adding: ", such as that representations are available in response to requests, but for the current purposes, this much is enough." > > > But maybe you're using the word "binding" different than I expect. I > > think of a binding as an association between the URI and the information > > resource, just as an "interpretation" in RDF semantics maps URIs to > > resources. > > Nope. It's just a statement about authorization. That induces a > certain relationship, but it has nothing to do with the model theory, > it's related to the problem domain. > > Note that the axioms have no URIs in them. There is no attempt to > cross levels and relate URIs used in HTTP to URIs used in logical > propositions. The URIs reside squarely in the domain of discourse. The > meta-question just doesn't come up. This is very much intentional. > Wash, rinse, repeat. Okay, I see. > > > 6. Regarding: > > [[ > > (candidate) For any set {S1, S2, ...} of 'simple IRs' there exists an IR > > that has S1, S2, ..., as readings, and no others. > > ]] > > This seems pretty reasonable, if we interpret "there exists" to mean "in > > theory there could exist". > > good point, but 'in theory' doesn't belong in an axiom and is not what > I want to say. There is probably a better way to say this; what I > want to express is that if you start doing GETs at a URI and a bunch > of 200s come back, then there exists an IR that has those readings... > but we can't say *only* those readings. This is probably better > formulated in terms of authorization: For any http: URI, the > authorization policy and choices that they make etc. etc. Will work > on this. Right. > > Maybe strike entirely because the only reason you'd want it would be > to implement the letter of the httpRange-14 resolution, and I have yet > to see why this is forced. > > > 7. Regarding: > > [[ > > (def) An interpretation of an RDF graph 'respects IR bindings' if, for > > each dereferenceable URI occurring in the graph (outside of literals), > > the URI is interpreted to be an IR bound to that URI. > > ]] > > > > Nice! I think the wording will have to be tightened up slightly, but I > > think the idea is very good. > > > > 8. Regarding: > > [[ > > A satisfying interpretation 'respects IR bindings' if it is also > > satisfying for the graph formed by merging (a) the given graph, (b) a > > set of 'binding statements', one per dereferenceable URI occurring in > > the graph, > > ]] > > > > Yes! Item (b) corresponds to step 1.a in the process for determining > > resource identity that I proposed at the Semantic Technology Conference > > last year > > http://dbooth.org/2010/ambiguity/paper.html#part3_1a > > > > 9. Regarding: > > [[ > > and (c) an appropriate RDF axiom set derived from the above axioms. The > > 'binding statement' for a URI uuu is defined here to be the statement > > <uuu> :boundTo "uuu"^^xsd:anyURI. > > ]] > > > > Yes! That is exactly what my proposed n3 rules for an HTTP 200 response > > do: > > http://www.w3.org/wiki/AwwswDboothsRules > > [[ > > 150. # httpRange-14 rule: 200 response => InformationResource > > 151. # http://lists.w3.org/Archives/Public/www-tag/2005Jun/0039.html > > 152. { ?r uri:hasURI ?u . > > 153. ?u http:hasGetReply ?reply . > > 154. ?reply http:hasStatusCode 200 . > > 155. # ... > > 156. } => { > > 157. ?r a awww:InformationResource . > > 158. # ... > > 159. } . > > ]] > > > > FYI, your :boundTo property corresponds to the log:uri property defined > > by TimBl > > http://www.w3.org/2000/10/swap/doc/Reach > > and the :hasUri property that I defined at line 95: > > http://www.w3.org/wiki/AwwswDboothsRules > > I can't use log:uri because it doesn't mean what I want. Here's the > definition: > > <comment>This allows one to look at the actual string of the URI > which identifies this. > > You :hasURI doesn't work for me either because it's defined like this: > > The subject resource is denoted by the object URI. It is basically > the same as log:uri, but has a range of xsd:anyURI, so that a simple > assertion like {r hasURI u} will cause u to be recognized as type > xsd:anyURI without having to assert it explicitly. This property > should be asserted explicitly -- it is NOT inferred. > > The difference is that I give an objective criterion for deciding > whether the property holds. Yes, you have given a better definition. That doesn't mean we need to mint a new term. The existing definition of log:uri is pretty much vacuous semantically, so it could be used in conjunctions with the criteria that you have set out. I think it is helpful to use terms that are already in use if possible. OTOH, if you really want to mint a new term then I think we should at least indicate (in a comment) its relationship to log:uri. > > > 10. In this statement: > > > > [:isBoundTo "<http://example/z>"^^xsd:anyURI] > > > > Don't you have extra angle brackets around that URI? Shouldn't it be: > > > > [:isBoundTo "http://example/z"^^xsd:anyURI] > > Yes, good catch > > > 11. One thing that isn't mentioned, and may not need to be addressed in > > this document, but needs to be addressed somehow/somewhere: In reality, > > URI-resource bindings change (slowly) over time, when domain names are > > sold or web sites are reorganized. > > Yes, I need a section that talks about how you could have different > interpretations depending on time scope. If you're using the theory > within a narrow time window or within a particular conversation there > may be more or different entailments than if you're using it across a > very long time span. E.g. if you're talking to your bank it might be > understood that the IR is one specific to your session, while someone > doing a review of the bank's web site might interpret the symbols in > the theory as associating the same URI with a different (more generic) > IR. Anyway, great progress overall! -- David Booth, Ph.D. http://dbooth.org/ Opinions expressed herein are those of the author and do not necessarily reflect those of his employer.
Received on Friday, 4 March 2011 18:53:56 UTC