Subject: NEW RELATION: property and context

From: Ioseb Dzmanashvili <[email-masked]>
Date: Sun, 26 May 2013 15:24:04 +0400

Dear All,

I've submitted new draft for the "property" and "context" link relation types: http://tools.ietf.org/html/draft-property-and-context-link-relations-00

Description: 

- This specification defines link relation types that may be used to express the relationships between a resource and associated properties or between a resource and it's context.
- The "property" and "context" link relations are intentionally generic, and they can be used with multiple media types in a wide variety of use cases
- The "property" Link Relation Type: When included in a response, the "property" link relation identifies a target resource that represents a property of the context resource.
- The "context" Link Relation Type: When included in a response, the "context" link relation identifies a target resource that represents a context document of which the context resource is a member.

Could you please review?
Thanks in advance!

Best regards,
ioseb
-- 
Ioseb Dzmanashvili
AzRy LLC
Software Architect
#8, Chachava str.
Tbilisi, 0159, Georgia
Mobile: +(995) 99753388
github.com/ioseb
twitter.com/iosebi

---

From: Darrel Miller <[email-masked]>
Date: Sun, 26 May 2013 11:52:23 -0400

Hi Ioseb,

My concern about introducing the link relation type "property" is that you
would be encouraging the creation of very finely grained resources.  If
some resource has a set of related properties, I would rather see a single
link to that set of properties than a set of property links.  At that point
either a rel like "collection", as Mike suggests, or "describedby" would
seem sufficient.

Is the desire to create individual links for properties to facilitate
updating those properties?

Darrel

On Sun, May 26, 2013 at 7:24 AM, Ioseb Dzmanashvili <
[email-masked]> wrote:

> Dear All,
>
> I've submitted new draft for the "property" and "context" link relation
> types:
> http://tools.ietf.org/html/draft-property-and-context-link-relations-00
>
> Description:
>
> - This specification defines link relation types that may be used to
> express the relationships between a resource and associated properties or
> between a resource and it's context.
> - The "property" and "context" link relations are intentionally generic,
> and they can be used with multiple media types in a wide variety of use
> cases
> - The "property" Link Relation Type: When included in a response, the
> "property" link relation identifies a target resource that represents a
> property of the context resource.
> - The "context" Link Relation Type: When included in a response, the
> "context" link relation identifies a target resource that represents a
> context document of which the context resource is a member.
>
> Could you please review?
> Thanks in advance!
>
> Best regards,
> ioseb
> --
> Ioseb Dzmanashvili
> AzRy LLC
> Software Architect
> #8, Chachava str.
> Tbilisi, 0159, Georgia
> Mobile: +(995) 99753388
> github.com/ioseb
> twitter.com/iosebi
>
> _______________________________________________
> link-relations mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/link-relations
>
>

---

From: Ioseb Dzmanashvili <[email-masked]>
Date: Sun, 26 May 2013 20:17:34 +0400

Hi Darrel,

Thanks for response!

> My concern about introducing the link > relation type "property" is that you 
> would be encouraging the creation of > very finely grained resources.

Well, i do not think it would encourage anyone to create finely grained resources. This rel i believe is useful for specific cases. At least i believe it must be possible to create coarse grained resources when necessary.

> Is the desire to create individual links for properties to facilitate updating those properties?

Yes, this is one of the reasons i used this rel in several apps - to allow selectively retrieve and modify properties.

Cheers,
ioseb

Sent from my iPhone

On May 26, 2013, at 7:52 PM, Darrel Miller <[email-masked]> wrote:

> Hi Ioseb,
>  
> My concern about introducing the link relation type "property" is that you would be encouraging the creation of very finely grained resources.  If some resource has a set of related properties, I would rather see a single link to that set of properties than a set of property links.  At that point either a rel like "collection", as Mike suggests, or "describedby" would seem sufficient.
>  
> Is the desire to create individual links for properties to facilitate updating those properties?
>  
> Darrel
>  
> 
> 
> On Sun, May 26, 2013 at 7:24 AM, Ioseb Dzmanashvili <[email-masked]> wrote:
>> Dear All,
>>

---

From: "Markus Lanthaler" <[email-masked]>
Date: Sun, 26 May 2013 18:59:49 -0300

Ioseb,

> I've submitted new draft for the "property" and "context" link
> relation types: 

I have a hard time understanding what your are trying to achieve.

Just as Jan mentioned in another thread, the name of the link rels implies to me that you are kind of reinventing RDF. JSON-LD [1], e.g., also has the notion of a context and allows JSON documents to be linked to JSON-LD contexts - although using a full URL as link rel instead of a token.

On Sunday, May 26, 2013 8:22 AM, Ioseb Dzmanashvili wrote:
> Yes, this is one of the reasons i used this rel in several
> apps - to allow selectively retrieve and modify properties.

How do you know which link to follow in your apps? Do you do that based on the title attribute?

Cheers,
Markus

[1] http://www.w3.org/TR/json-ld/

--
Markus Lanthaler
@markuslanthaler

---

From: Ioseb Dzmanashvili <[email-masked]>
Date: Mon, 27 May 2013 11:28:11 +0400

Hi Markus,

> Just as Jan mentioned in another thread, the name of the link rels implies to me that you are kind of reinventing RDF. JSON-LD [1], e.g., also has the notion of a context and allows JSON documents…

My RDF knowledge is rudimentary, but what i can say for sure the "context" link relation and "@context" from JSON-LD are different things. Here is what JSON-LD[1] documentation says: "The secret lies in the @context, which instructs Linked Data-aware processors on how to interpret the JSON object." which is not the case for the "context" link relation... it's much simpler and must be used to indicate that a resource is a member of another resource and only in cases when we do not have collection/item relationships. For example if i share resource URI which is a member of another resource i can use the "context" link rel to inform processing agent that shared resource is a member of another resource.

> How do you know which link to follow in your apps? Do you do that based on the title attribute?

No, title attribute is only used for user interfaces i do not think anyone uses it for other purposes. In my apps i only use rel attribute values to decide which link to follow.  

[1]. http://json-ld.org/ 

Cheers,
isoeb

---

From: Erik Wilde <[email-masked]>
Date: Mon, 27 May 2013 07:20:01 -0700

hello ioseb.

> No, title attribute is only used for user interfaces i do not think anyone uses it for other purposes. In my apps i only use rel attribute values to decide which link to follow.

i guess what markus wanted to know is how clients decide which link to follow for a specific property, if you have more than one. there must be some "property identifier" somewhere, so that clients can distinguish, right? i was wondering about the same thing.

thanks and cheers,

dret.

---

From: Ioseb Dzmanashvili <[email-masked]>
Date: Mon, 27 May 2013 19:09:30 +0400

Hi Erik,

> i guess what markus wanted to know is how clients decide which link to follow for a specific property, if you have more than one. there must be some "property identifier" somewhere, so that clients…

Thanks for clarification! When i use this relation type in GUI apps the "property" rel is enough to distinguish property links from other links. But in addition i usually use application specific profiles describing link relation extensions for particular property types. For example:

Link: </book;title>; rel="property http://rels.service.org/properties#title"; title="Human friendly text here..."

cheers,
ioseb

On Monday, May 27, 2013 at 6:20 PM, Erik Wilde wrote:

> hello ioseb.
> 
> On May 27, 2013, at 0:28, Ioseb Dzmanashvili <[email-masked] (mailto:[email-masked])> wrote:

---

From: "Martin J. Dürst" <[email-masked]>
Date: Tue, 28 May 2013 09:10:53 +0900

On 2013/05/27 23:20, Erik Wilde wrote:
> hello ioseb.
>
> On May 27, 2013, at 0:28, Ioseb Dzmanashvili<[email-masked]>  wrote:

Also, having only a single property at the end of a link will be rare. 
Usually it's a collection of properties. So I'm wondering why the 
relation name is not "properties".

Regards,   Martin.

---

From: "Markus Lanthaler" <[email-masked]>
Date: Wed, 29 May 2013 00:57:08 +0200

On Monday, May 27, 2013 9:28 AM, Ioseb Dzmanashvili wrote:

> My RDF knowledge is rudimentary, but what i can say for sure the
> "context" link relation and "@context" from JSON-LD are different
> things.

Of course. I just mentioned it because they use exactly the same terminology and I was not the only one to be confused by this.

> Here is what JSON-LD[1] documentation says: "The secret lies
> in the @context, which instructs Linked Data-aware processors on how
> to interpret the JSON object." which is not the case for the "context"
> link relation... it's much simpler and must be used to indicate that a
> resource is a member of another resource and only in cases when we do
> not have collection/item relationships.

Sorry, I don't understand this. It indicates that resource I is a member of a resource C but only if resource I is not an item of collection C!? In which case then? Aren't you contradicting yourself?

> For example if i share
> resource URI which is a member of another resource i can use the
> "context" link rel to inform processing agent that shared resource is
> a member of another resource.

Unfortunately, this doesn't make it any clearer to me.

> No, title attribute is only used for user interfaces i do not think
> anyone uses it for other purposes. In my apps i only use rel attribute
> values to decide which link to follow.

As Erik already clarified in another thread I'm interested in how your application is able to select the correct link to follow if you have multiple links, e.g.:

Link: </propertyA>; rel="property"; title="Property A"
Link: </propertyB>; rel="property"; title="Property B"
Link: </propertyC>; rel="property"; title="Property C"

>       title="Human friendly text here..."

Then why do you need "property"? Isn't http://rels.service.org/properties#title all you need then?

--
Markus Lanthaler
@markuslanthaler