W3C home > Mailing lists > Public > semantic-web@w3.org > September 2007

Re: statements about a graph (Named Graphs, reification)

From: Richard Cyganiak <richard@cyganiak.de>
Date: Tue, 4 Sep 2007 09:53:20 +0200
Message-Id: <8B6F54A8-057A-4CD8-9081-07F445328DAE@cyganiak.de>
Cc: semantic-web@w3.org
To: K-fe bom <u9x3n_15so@hotmail.com>


On 3 Sep 2007, at 16:31, K-fe bom wrote:
> I'm looking for the best way to model certain statements about  
> statements. I find that Named Graphs are part of what I need, since  
> I was really looking for a way to refer to a whole set of RDF  
> statements as a unit.
>   More specifically I'm looking for comments and examples of how to  
> make statements about a Named Graph, ideally all living in a RDFa  
> document.

I find that making statements about the URI of the document (in your  
case, the HTML page containing the RDFa) works for me. It isn't  
technically *quite* the same as annotating the named graph, but often  
I find it actually more appropriate to make statements about the  
document, not the graph.

I put the statements into the document itself, or into an external  
document, whatever is more convenient.

To process this kind of data, you need an implementation of the RDF  
Dataset or Named Graph Set, which keeps track of the source of  
statements. Most RDF toolkits have support for this these days. E.g.,  
when you load multiple documents into a Jena Model, it won't know  
which statements are from which document. When you load them into a  
Dataset (called DataSource in Jena IIRC), then it remembers which  
statements are in which graph.

>  If I try to summarize the alternatives I list:
> 1 - To mix the (meta)statements with the original information. This  
> would be similar to the example given in the Reification section of  
> [1] that attributes a creator to one triplet. I'm reluctant to go  
> with this option because there seems to be no separation between  
> statements and metastatements.

I wouldn't worry about statements vs. metastatements. This  
distinction is not made in the RDF data model. Metadata is just data.  
It's the norm to have RDF documents that contain both metadata and data.

If your application needs some kind of privileged metadata, which is  
handled differently from the rest of the data, then you can put that  
metadata into one or more separate named graphs.

>  2 - Not to use reification. I would refer to the Named Graph and  
> make statements about the graph. This seems to be the best option  
> so far to me. It's just that in a way this looks similar to  
> alternative 1 to me.

I'd go with this.

>  3 - To use reification in a non-conventional way.

There isn't really any hope of getting interoperability with  
reification, no matter what way you use it, because its semantics are  
undefined and different people tried to use it quite differently.  
You'll have trouble finding any published RDF that uses reification,  
though some applications use it to good effect internally.


> What confuses me is that reification first sounded as providing the  
> semantics to make 'statements about statements'. But if I use  
> reification in a non-conventional way I would be going against the  
> current and providing some 'proprietary' semantics that perhaps  
> would compromise interoperability between applications. In the same  
> token by not using reification altogether it seems that I would be  
> 'making statements about statements' mixing layers of abstraction  
> in a model.
>  I'm not so interested in discussing the semantics of reification  
> for the sake of it. I'm more interested in hearing suggestions for  
> the best approach to model the data. So what are your thoughts? How  
> would one go about annotating a named graph (in RDFa ideally)?
> Kind regards,
> Gustavo Frederico
> [1] http://www.w3.org/TR/rdf-primer/#reification
Received on Tuesday, 4 September 2007 07:53:28 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 08:45:02 UTC