- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Thu, 1 Mar 2012 09:57:02 +0100
- To: Ruben Verborgh <ruben.verborgh@ugent.be>
- Cc: public-rdf@w3.org, public-rdf-wg@w3.org, W3C SWIG Mailing-List <semantic-web@w3.org>
- Message-Id: <188C7D07-6CE7-4690-A916-F9FAC9BCBCBF@inf.unibz.it>
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
Attachments
- application/pkcs7-signature attachment: smime.p7s
Received on Thursday, 1 March 2012 08:57:37 UTC