Can't RDF describe collection resources?

Dear Semantic Web enthousiasts,

Suppose we have a Web application for blogging:
- /posts/35 is a blog post
- /posts/35/comments are the comments to that post
- /posts/35/comments/3 is a specific comment to this post

In RDF, it is straightforward to make the relation between the blog post and a specific comment:
  </posts/35> :hasComment </posts/35/comments/3>.
It is also easy to describe the relation between a specific comment and all comments:
  </posts/35/comments/4> :memberOf </posts/35/comments>.

However, how do we indicate the relationship between the blog post and *all* comments that belong to it?
I.e., what is the relationship between </posts/35> and </posts/35/comments> ?

One could make a new predicate for that of course:
  </posts/35/> :hasComments </posts/35/comments>.
But then, we still have to explain the relation between :hasComments and :hasComment; and we’d have to do that for every such plural predicate.

This seems to be a fundamental problem.
Clearly, the resource “comments on blog post 35” exists, but there doesn’t seem to be a straightforward way to describe it in RDF.
RDF lists will not be sufficient: they could indeed explain the relation between a specific comment and all comments, but not the relation between all comments and the blog post.
Also note that the indirect relation “_:x :hasComment _:y. _:y :memberOf _:z” is not sufficient: a blog post can have no comments, but even then it still has an (empty) comments resource.

Have you encountered this issue and how do you solve it?

Kind regards,
-- 
Ruben Verborgh
http://twitter.com/RubenVerborgh
PhD Student at Multimedia Lab – IBBT / ELIS, Ghent University, Belgium

Make your hypermedia API ready for intelligent agents via http://restdesc.org/.

Received on Thursday, 1 March 2012 07:29:30 UTC