Re: [apps-discuss] NEW RELATION: property and context

"Markus Lanthaler" <markus.lanthaler@gmx.net> Wed, 29 May 2013 18:39 UTC

Return-Path: <markus.lanthaler@gmx.net>
X-Original-To: apps-discuss@ietfa.amsl.com
Delivered-To: apps-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A835321F848E for <apps-discuss@ietfa.amsl.com>; Wed, 29 May 2013 11:39:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.127
X-Spam-Level:
X-Spam-Status: No, score=0.127 tagged_above=-999 required=5 tests=[AWL=-0.812, BAYES_05=-1.11, J_CHICKENPOX_32=0.6, MSGID_MULTIPLE_AT=1.449]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id C3xrVu8bQbmh for <apps-discuss@ietfa.amsl.com>; Wed, 29 May 2013 11:39:30 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.17.21]) by ietfa.amsl.com (Postfix) with ESMTP id 2CCCE21F8EAD for <apps-discuss@ietf.org>; Wed, 29 May 2013 11:39:28 -0700 (PDT)
Received: from mailout-de.gmx.net ([10.1.76.4]) by mrigmx.server.lan (mrigmx001) with ESMTP (Nemesis) id 0MYqSb-1UufIi0N4V-00Vksf for <apps-discuss@ietf.org>; Wed, 29 May 2013 20:39:27 +0200
Received: (qmail invoked by alias); 29 May 2013 18:39:26 -0000
Received: from 84-115-182-43.dynamic.surfer.at (EHLO Vostro3500) [84.115.182.43] by mail.gmx.net (mp004) with SMTP; 29 May 2013 20:39:26 +0200
X-Authenticated: #419883
X-Provags-ID: V01U2FsdGVkX1/WjY93VXnWTVt0sEI2kPo3di41pImnBk8ZFrLZMP Q5Q20pWbe69/Pn
From: Markus Lanthaler <markus.lanthaler@gmx.net>
To: 'Ioseb Dzmanashvili' <ioseb.dzmanashvili@gmail.com>
References: <4038B5FE76874C54A819A07FE192AEF8@gmail.com> <CABP7Rbd815stpCPLL5q9eVuxbHDW6NbGrBPdfjJbSywKFRRJ4g@mail.gmail.com> <51a53d34.48b40e0a.70fc.1549SMTPIN_ADDED_BROKEN@mx.google.com> <CABP7RbfbicAaXOpy8r3w-YVmLjM=APLDjhTohUgGnqAfkHm0dA@mail.gmail.com> <51a54dfa.086f0e0a.693f.2ff4SMTPIN_ADDED_BROKEN@mx.google.com> <FEB564CAAF9B47B8BE41F0BBE8556650@gmail.com>
In-Reply-To: <FEB564CAAF9B47B8BE41F0BBE8556650@gmail.com>
Date: Wed, 29 May 2013 20:39:25 +0200
Message-ID: <026b01ce5c9b$d8ed7510$8ac85f30$@lanthaler>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ac5cPxjaFwqGigEdSmi3XGmBH80AtwAWtnEQ
Content-Language: de
X-Y-GMX-Trusted: 0
Cc: link-relations@ieft.org, 'IETF Apps Discuss' <apps-discuss@ietf.org>
Subject: Re: [apps-discuss] NEW RELATION: property and context
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 29 May 2013 18:39:35 -0000

On Wednesday, May 29, 2013 9:35 AM, Ioseb Dzmanashvili wrote:
> Here is the example:
> 
> *** REQUEST: Fetch photo ***
> > GET /article/photo HTTP/1.1
> > Host: service.org
> 
> *** RESPONSE: Photo representation ***
> < HTTP/1.1 200 OK
> < Content-Type: image/jpeg
> < Content-Length: ...
> < Link: </article/photo;prop1>; rel="property"; title="Property 1",
> <   </article/photo;prop2>; rel="property"; title="Property 2",
> <   </article/photo>; rel="self"; title="...",
> <   </article>; rel="context" title="Thousand Leagues Under the Sea"
> <   
> < [BINARY DATA HERE]
> 
> *** REQUEST: Fetch one of the properties ***
> > GET /article/photo;prop1
> > Host: service.org

This is right at the heart of my first question: How does the client know to fetch /article/photo;prop1 instead of /article/photo;prop2?

There are only two options here: a) code against the target URL or b) code against the title attribute. Since you said b) is used exclusively for rendering purposes I assume you would code your client against the URL (or parts thereof) which would go against the fundamental idea of typed links.


> *** RESPONSE: property representation ***
> < HTTP/1.1 200 OK
> < Content-Type: text/plain
> < Link: </article/photo;prop1>; rel="self" title="...",
> <   </article/photo>; rel="context"; title="..."
> < 
> < [PROPERTY VALUE HERE]
> 
> Based on this example, i'm not sure how the "describes" link relation
> can be used instead of the "context" link relation when by definition
> the "describes" relations says that: "The relationship A 'describes' B
> asserts that resource A provides a description of resource B. There
> are no constraints on the format or representation of either A or B,
> neither are there any further constraints on either resource."? In
> this particular example "context" indicates resource to which the
> /article/photo or /article/photo;prop1 resources belong and  context
> resources do not provide any description of those members.

Hmm.. I do partly agree for the /article/photo -> /article link but would argue that /article/photo;prop1 does *describe* /article/photo. Similarly it could be argued that /article/photo *isDescribedBy* /article.


> What i
> want to say here it's a simple relationship between two resources
> without any descriptions etc…

So you want to express a relationship without any specific semantics? In that case, why do you need a typed link? Can't you just use a untyped one?


> Same with the "collection" and "item" relationships, i do not see(or
> maybe do not understand?) how /article and /article/photo resources
> are collections?

If article would be called slideshow or gallery, would you see it then? :-) You could say that an article is a collection of information, some prose, some images, maybe some movies etc.


> if yes, collections of what? generally we can say
> that everything is an item but taking the definition of the "item"
> link relation: "The target IRI points to a resource that is a member
> of the collection represented by the context IRI." Now if we consider
> following example:
> 
> < HTTP/1.1 200 OK
> < Content-Type: …
> < Content-Length: …
> < Link: </article>; rel="self"; title="…",
> <    </article/photo>; rel="enclosure" title="…"
> <
> < [REST OF CONTENT HERE]
> 
> can we say for /article/photo resource that context IRI represents a
> collection? or does the /article resource somehow "describes" the
> /article/photo resource? or is /article/photo resource is an item
> which belongs to collection?

Could be any of those. If the article describe the photo you could use "describes". If the article is more a collection of information (e.g. pictures as in a gallery) you could say it is a "collection" and the photo is an "item".


Btw. On mailing lists it is typically considered as a best practice to write text-only mails. This makes it much easier to quote etc. Could you please update your client settings to send text-only mails instead of HTML formatted mails. Thanks a lot!



--
Markus Lanthaler
@markuslanthaler