- From: Jonathan Borden <jborden@mediaone.net>
- Date: Wed, 22 Nov 2000 17:08:22 -0500
- To: "Sergey Melnik" <melnik@db.stanford.edu>, "Pierre-Antoine CHAMPIN" <champin@bat710.univ-lyon1.fr>
- Cc: "ML RDF-interest" <www-rdf-interest@w3c.org>
Sergey Melnik wrote: > Pierre-Antoine CHAMPIN wrote: > > ... > > First, Statements and Reified statements are not the same thing. > > Although this is consistent with the spec, I believe there are > significant advantages both for understanding and manipulating reified > statements if these two notions are merged into one. By merging into one, do you mean drop the notion of statement reification? If a statement and a reified statement are the same thing, I'm sure loads of people would prefer forget reification exists. > > Can you (or anyone) list some use cases where it is beneficial to make > this distinction? I can think of several cases, in which distinguishing > statements vs. reified statements makes things a lot more complicated. > Just consider a database query that retrieves all assertions made about > a statement (by anyone). How about: <Statement ID="S1"> <predicate resource="bar"/> <subject resource="foo"/> <object resource="baz"/> </Statement> <Statement ID="S2"> <predicate resource="asserts"/> <subject resource="John"/> <object resource="S1"/> </Statement> > > The M&S spec clearly states that statements are *non-atomic* entities in > the RDF model, i.e. they have 3 identifiable parts. Why then getting > into trouble of defining another mechanism ("quad reification") for > identifying these same parts in a less efficient (in all senses) manner? In order to assign a URI to a triple. > > The "fix" or interpretation I advocate is the following: > > - STATEMENTS ARE RESOURCES (that implies that every statement is unique > and equivalent to reified statement) A resource is something identified by a URI (by definition). Begging the question: what would the URI of a statement be in this case? The reason a statement is not equivalent to its reified statement as represented by a quad is that the subject of each of the statements of a reified quad is the URI which 'names' the statement triple. As far as I can tell, this name is the only additional piece of information not implicit in the statement triple > - toss "quad" reification mechanism altogether fine, replace its function: (XXX asserts S) where S references a statement > > If someone chooses to reply to this posting, please be constructive. If > you claim reification should be done in this or other way, justify you > opinion, or tell what the drawbacks of the above suggestion are. There > are many ways to express the same thing which are all theoretically > equivalent. However, we have to store reified statements, send them over > networks and use in query processing. Keep that in mind. Perhaps you might propose a specific replacement. I'm not personally at all tied to reification quads, they do seem a bit expensive as a mechanism for assigning a name to a statement. I do appreciate what the mechanism does accomplish within the framework of URIs. I also feel that using Bags with _1,_2 ... is a likewise expensive way to represent spaces within RDF. The advantage of the current mechanisms is that the core concept of a monolithic model of unique triples is preserved. Jonathan Borden The Open Healthcare Group http://www.openhealth.org
Received on Wednesday, 22 November 2000 17:20:38 UTC