- From: Henry Story <henry.story@bblfish.net>
- Date: Tue, 4 Jun 2013 23:38:25 +0200
- To: "public-ldp@w3.org" <public-ldp@w3.org>
- Message-Id: <E636DB3E-8813-49B6-94AB-2FBCD430CDF5@bblfish.net>
Where we find out that we can get from first principles of URIs, RESTful HTTP interactions on Resources that return representations interpreted by mime types to an graph, which can describe the resource referred to by the URI. And then how the returned representation can be found to be true or false depending on the interaction patterns on that resource as defined by the restrictions imposed by the LDP vocabulary. 2:53 bblfish: Does a URI refer to a Resource? 22:53 betehess: hrmmm, I've said yes twice 22:53 bblfish: Ok. 22:55 bblfish: Does an HTTP resource return a represntation of that resource when interacted with using GET ? 22:55 betehess: if it's a good web citizen, I would expect the answer to be Yes 22:55 bblfish: I think this is necessarily the case 22:55 betehess: but RDF does not say anything about it 22:56 bblfish: I have not come to RDF yet 22:56 betehess: and SPARQL does not care 22:56 betehess: right 22:56 bblfish: ok. don't jump the gun 22:56 betehess: I'll let you continue then :-) 22:56 betehess: but so far, Yes and Yes 22:56 bblfish: Good, so other than Cache corruption issues, the representation returned by an HTPT resource is a description of that resource at that time. 22:57 bblfish: If the representation is in an RDF format as per mime type, you can interpret the representation as a Graph, right? 22:57 betehess: almost true 22:57 bblfish: where's the almost hitch? 22:57 betehess: what about #-URIs? 22:57 bblfish: #URIs are defined by the URI spec. 22:58 bblfish: https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/identity-respec.html 22:58 bblfish: ( I don't know why we don't get the HTML anymore ) 23:00 bblfish: The fragment identifier component of a URI allows indirect 23:00 bblfish: identification of a secondary resource by reference to a primary 23:00 bblfish: resource and additional identifying information. The identified 23:00 bblfish: secondary resource may be some portion or subset of the primary 23:00 bblfish: resource, some view on representations of the primary resource, or 23:00 bblfish: some other resource defined or described by those representations. A 23:00 bblfish: fragment identifier component is indicated by the presence of a 23:00 bblfish: number sign ("#") character and terminated by the end of the URI. 23:00 bblfish: http://tools.ietf.org/html/rfc3986#section-3.5 23:01 betehess: anyway, the GET gives you some information about the state of the resource 23:01 bblfish: yes, that can be interpreed as a graph if the mime type is correct 23:01 betehess: they don't necesseraly describe the resource 23:01 bblfish: of course you don't necessarily do that. 23:01 bblfish: I am looking at cases when you do. 23:02 bblfish: if that graph contains a triple that refers to the resource, then it describes that resource. 23:02 bblfish: as being related in some way to something else 23:02 bblfish: yes? 23:03 bblfish: RDF Semantics specifies what has to be true for the graph to be true. 23:03 betehess: I'm getting confused by words but yes, I suppose do 23:04 betehess: s/do/so/ 23:04 bblfish: ok. 23:04 bblfish: Good so now if we define ldp:Container to be the set of resources on which certain interaction semantics can be done then if the resource says 23:04 bblfish: <> a ldp:Container . 23:05 bblfish: Then we can assume it is saying that certain interactions can be done on it: namely LDP interactions. 23:05 bblfish: if we can't interact that way with it then the statement was false. 23:05 betehess: that's the part I'm not sure about 23:05 betehess: why is it true? 23:05 bblfish: why is what true? 23:05 betehess: as far as HTTP is concerned, that's not how it works 23:06 bblfish: HTTP is a different layer 23:06 betehess: you know what you can do with it based on the media type 23:06 bblfish: HTTP is for state representation transfer 23:06 betehess: not because you've found an rdf type 23:06 bblfish: media types allows you to interpret the content. 23:06 bblfish: yes? 23:07 bblfish: do you agree with "media types gives you the key allowing you to interpret the content (without sniffing)" 23:08 betehess: yes 23:08 bblfish: ok. So now it all depends on the mime type. 23:09 betehess: but knowing for reason that [[ <> a ldp:Container ]] does not mean I can do it. RDF assumes that it's true, but it's only true if <> tells you so 23:09 bblfish: For formats like JSON or XML which are mostly syntaxes, you need to specify in the mime type how to interpret the document to get an RDF graph: ie an non-ambiguous meaning. 23:09 betehess: huh, I'm not making normal English sentences... 23:10 bblfish: If you look at the RDF Semantics it will tell you when <> a ldp:Container is true. 23:10 bblfish: It is true iff <> is a resource that is part of the set refered to by ldp:Container. 23:11 betehess: for example, you can learn that [[ <foo> a ldp:Container ]] by dereferencing <bar> 23:11 betehess: it does not mean anything in practice 23:11 bblfish: no, it means exactly that 23:11 betehess: <foo> may be an image 23:11 betehess: for RDF, yes 23:11 betehess: but HTTP does not care 23:11 bblfish: you need to distinguish meaning and truth 23:12 bblfish: { <foo> a ldp:Container } is true iff <foo> is an LDPC 23:12 bblfish: but it may not be. 23:12 betehess: can you instanciate meaning and truth in my example? 23:12 bblfish: yes, if <foo> acts like an LDPC then it is true 23:13 bblfish: but the case is more clear cut when a resource speaks about itself as being an LDPC. 23:13 bblfish: anyway, it can also be lying. 23:13 bblfish: Still you go on the presumption of innoncence 23:14 bblfish: Or as Donald Davidson wrote in Truth and Interpretation, you use a principle of charity, which is that the agents you are communicatiing with are truthful. 23:14 bblfish: but if they are not, then you stop interacting with them. 23:14 bblfish: and you stop linking to them. 23:15 bblfish: or you say things like <foo> a ldp:nonContainer 23:15 bblfish: so people don't follow the link 23:15 bblfish: or <foo> a log:Falsehood . 23:15 betehess: this is making everything just complex. You cannot convince people with such hard reasoning about how to jump from RDF truth (which the specs assume today) to a resource being an LDPC in practice 23:16 betehess: and you need to look at the content, always 23:16 betehess: it's the point of the Content-Type to save you here 23:16 bblfish: this is just what you get when you read RDF Semantics. It defines truth in a Tarskian way 23:16 bblfish: no content-type is just a way to specify the language of the representation. 23:17 betehess: yes, it would true in all realizations, which is not true in practice... 23:17 bblfish: If it is JSON content then you need to create special mime types 23:17 betehess: RDF does not say who is authoritative 23:17 bblfish: well not quite 23:17 betehess: the content-type is also about the semantics/interactions, not only the representation 23:18 bblfish: no. 23:18 betehess: yes 23:18 bblfish: no 23:18 bblfish: absolutely not 23:18 betehess: you just don't see that often at w3c because we don't define web apis 23:18 bblfish: that is the error the REST folks who use XML make 23:18 betehess: you mean webarch is wrong? 23:19 betehess: we're defining a Web API 23:19 bblfish: no, the REST folks only use formats where they need to use mime types that way 23:19 bblfish: but that is their problem 23:19 betehess: if it was only about GETs, I wouldn't care about your interpretation 23:19 bblfish: <> a ldp:Container . 23:20 bblfish: { <> a ldp:Container . } 23:20 bblfish: Also specifies how to do POST, etc... 23:20 bblfish: it creates some restrictions. 23:21 bblfish: ( if you believe it to be true of course ) 23:21 bblfish: or rather the other way around. It is true, if those interactions hold. 23:22 betehess: Henry, here is the thing: why should I accept { <> a ldp:Container . } to be true? 23:22 bblfish: 1. because you probably got there through a link you trust 23:23 bblfish: 2. if you interact and you don't get the results expected you come to the conclusion there is a bug or it is lying 23:23 betehess: and [[ if those interactions hold ]] means that it does not require { <> a ldp:Container . } to be true either 23:24 betehess: I really don't get why webarch speaks about presentation and interaction... 23:24 bblfish: true. But on the web the best resource to trust on its state is the resource itself 23:24 betehess: you're saying that interaction is implied by [[ those interactions hold ]] 23:25 betehess: anyway, I have to be 5 km away in 5 minutes... 23:25 bblfish: yes, http defines POST, PUT etc. LDP vocab creates further restrictions on it 23:25 betehess: (biing) 23:25 bblfish: ok hope that helps
Received on Tuesday, 4 June 2013 21:39:01 UTC