Re ACTION-201 http://www.w3.org/2001/tag/group/track/actions/201 JAR email: http://lists.w3.org/Archives/Public/www-tag/2010Mar/0070.html 12/09 draft: http://www.w3.org/2001/tag/awwsw/http-semantics-report.html Premise (following Roy Fielding): The HTTP protocol *expresses* some state of affairs. There may be other ways to express it, too. (e.g. cache APIs, HTTP-over-SPARQL) Logical relations W(R,Z,t) Z "corresponds to" R Z is a [data] "representation" of [the state of] R redirectsPermanentlyTo(R1,R2,t) redirectsTemporarilyTo(R1,R2,t) seeOther(R1,R2,t) exists(R,t) R resides at URI, R located at host ? The "meaning" of the protocol GET U / 200 Z expresses W(,Z,t) GET U / 30{1,7,3} Z expresses redirectsPermanentlyTo(R1,R2,t) redirectsTemporarilyTo(R1,R2,t) seeOther(R1,R2,t) The "representation" is selected or composed by the server, NOT the resource there may be infinitely many [acceptable] "representations" they don't necessarily "come from" the resource in detail can be selected from a set or constructed according to what is required for that resource Time intervals are expressible using Last-modified: / Expires: for all t in [t1,t2) W(R,Z,t) maybe write this as W_over_interval(R,Z,[t1,t2)) or just W(R,Z,[t1,t2)) Redirection means some shared properties redirectsTemporarilyTo(R1,R2,t) Prop(R2,t) --------- Prop(R1,t) e.g. shared representations, shared seeOthers redirectsTemporarilyTo(R1,R2,t) W(R2,Z,t) --------- W(R1,Z,t) redirectsTemporarilyTo(R1,R2,t) seeOther(R2,R3,t) --------- seeOther(R1,R3,t) Compare Fielding's formalism: resource = mapping from time to set of value (value = representation or URI) Mapping(R) = lambda t. {Z | W(R,Z,t)} union {...} Not all information resources are REST resources REST: representation of state of resource change in representations results from change in resource Not required by HTTP, not true of all [information] resources Goal: theory of metadata about things-on-the-web This is in some sense the reason for the httpRange-14 decision: why would you care that the URI names the description and not the thing, if you weren't going to use the URI as a name for the description *for some reason* - if there weren't consequential statements you would make about the description resource? E.g. dc:creator [is foaf:primaryTopic of ]. is consequential metadata that couldn't be written if named Pat. This is a bidirectional problem: (1) Enable metadata, given that web behavior is fixed. (2) Enable web behavior, given that metadata is fixed. (1) Enable metadata, given that web behavior is fixed. Suppose resource is named by a http: URI U W(,Z,t) is "authoritative" if it comes from domain owner Possible sources of metadata (a) entailments of W(R,Z,t) can you infer anything about the resource from a representation? (b) independently asserted by someone (e.g. Dublin Core provided through or Link:) (c) hypotheses reasonable assumptions that are not "authorized" (d) purpose inferred from manner of use This page tells you about example.org Representation tells you what about the resource? - depends on resource-specific "equivalence" relation e.g. content-length vs. dc:creator - content, creator, etc. may differ depending on session info - so probably no rigorous entailments unless you know something about the resource already - the URI for the description resource isn't doing us much good, lacking other information about it But surely the representation can tell you what's *not* the case? (falsifiability) - W(R,Z,t) where Z is Jabberwocky by Dodgson is incompatible with R = Hiawatha by Longfellow Intersection theory vs. union theory - resource has properties that are common to all representations - resource has properties of all representations - not all properties are equal (2) Enable web behavior, given that metadata is fixed. FRBR Is R rdf:type frbr:Work. compatible with W(R,Z,t)? Is R rdf:type frbr:Expression. compatible with W(R,Z,t)? Is R rdf:type frbr:Manifestation. compatible with W(R,Z,t)? Is R rdf:type frbr:Item. compatible with W(R,Z,t)? IAO Is R rdf:type iao:InformationContentEntity. compatible with W(R,Z,t)? Is R rdf:type bfo:PlanSpecification. compatible with W(R,Z,t)? CItO BIBO Nasty issues around "equivalence" Truncation e.g. http://dx.doi.org/10.12345/foo => abstract (402?) e.g. table of contents instead of whole document Additional quasi-content (e.g. advertising) Conservative approach: - maybe content is wrong or misleading - use #, 303, blank nodes (who is authoritative for W ?) Liberal view: - I'm competent & authorized to say whether W(R,Z,t) - use 200 - as long as server thinks it's OK, it's OK (contradicts spirit of httpRange-14 / supposed consequential nature of W) What is a [information] resource? Fielding: "The only thing that is required to be static for a resource is the semantics of the mapping [from time to sets of values], since the semantics is what distinguishes one resource from another." - Does context (role of resource, how we encoutered it) rescue us? Goal: definition of "information resource" (or guidelines, etc.) should be a *consequence* of this analysis