RE: Call for consensus on collection design (ISSUE-41)

I really like this proposal (so +1), but my only concern (and this is certainly not an objection), is that currently all our RDF is 'clean' (in that I have literally no blank nodes), and ideally I'd like to keep it that way, while of course still supporting Hydra collections.

I know I could easily introduce a named node myself (or skolemize), but would it make sense for the spec to at least allude to the controversy around blank nodes [1], [2], [3], [4], [5], and offered a non-normative approach (i.e. a convention) for those who wish to avoid them as much as possible (for example, the use of '/alice/friends/meta' below where the use of '/meta' is a simple convention to avoid blank nodes). Of course for those who don't care, allowing the use of blank nodes is fine too.

   {
     "@id": "/alice",
     "collection": {
       "@id": "/alice/friends",
       "@type": "Collection",
       "manages": {
         "@id": "/alice/friends/meta",
         "property": "schema:knows",
         "subject": "/alice"
       }
     }
   }
   
... and in Turtle:

   </alice> hydra:collection </alice/friends> .
   </alice/friends> a hydra:Collection ;
       hydra:manages </alice/friends/meta> .

   </alice/friends/meta> hydra:property schema:knows ;
       hydra:subject </alice> .

Or is the concensus that this would just be cluttering the specification, and blank nodes are 'fine really' (as seems to be the consensus from the JSON-LD group [6])?

[1] http://richard.cyganiak.de/blog/2011/03/blank-nodes-considered-harmful/
[2] http://milicicvuk.com/blog/2011/07/14/problems-of-the-rdf-model-blank-nodes/
[3] http://www.w3.org/2009/12/rdf-ws/papers/ws23
[4] http://aidanhogan.com/docs/bnodes.pdf
[5] http://manu.sporny.org/2013/rdf-identifiers/

[6] https://github.com/mcollina/levelgraph-jsonld/issues/8

Pat.

> -----Original Message-----
> From: Markus Lanthaler [mailto:markus.lanthaler@gmx.net]
> Sent: Thursday, July 03, 2014 4:17 PM
> To: public-hydra@w3.org
> Subject: Call for consensus on collection design (ISSUE-41)
> 
> Hello everyone,
> 
> Over the past few weeks, we have debated the issues around collections and
> seem to have found a solution that works for everyone. The proposal is to
> introduce four new properties, namely hydra:collection (please note, not
> *has*Collection as we don't use that style for any other property),
> hydra:manages, hydra:subject, and hydra:object (hydra:property already
> exists). These properties then allow to link collections to entities as
> follows:
> 
>    {
>      "@id": "/alice",
>      "collection": {
>        "@id": "/alice/friends",
>        "@type": "Collection",
>        "manages": {
>          "property": "schema:knows",
>          "subject": "/alice"
>        }
>      }
>    }
> 
> ... and in Turtle:
> 
>    </alice> hydra:collection </alice/friends> .
>    </alice/friends> a hydra:Collection ;
>        hydra:manages [
>            hydra:property schema:knows ;
>            hydra:subject </alice> .
>        ] .
> 
> 
> This serves as a call for consensus on the proposed solution. Before I
> proceed with marking the issue as resolved and implementing the changes in
> the spec, I would like to ask if anyone has any concerns or objections against
> this proposal.
> 
> Please submit your comments by Wednesday, July 9th.
> 
> 
> Thanks,
> Markus
> 
> 
> 
> --
> Markus Lanthaler
> @markuslanthaler
> 
> 
> 

Received on Thursday, 3 July 2014 16:12:12 UTC