Re: Can't RDF describe collection resources?

Hi,
your problem is just a classical conceptual modelling in databases problem, with 30+ years of history.
In this case - like in any case where the graph just represents plain relational structure - your RDF graph corresponds to a RDB, and there is simply no way to express the relationship between :hasComments and :hasComment within the RDB data model - you need to express it with some higher level constraint. Note that the :hasComment property is redundant in the sense of RDB: its content is equal exactly to the composition of :hasComments and :memberOf. As a matter of fact, the precise and correct way is to use owl property chains as metadata relating :hasComments and :hasComment via :memberOf.
cheers
--e.
 

On 1 Mar 2012, at 07:28, Ruben Verborgh wrote:

> 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

Received on Thursday, 1 March 2012 08:57:37 UTC