- From: Bob MacGregor <macgregor@isi.edu>
- Date: Wed, 25 Aug 2004 22:47:13 -0700
- To: Sandro Hawke <sandro@w3.org>
- CC: Leo Sauermann <leo@gnowsis.com>, "'RDF interesting groupe'" <www-rdf-interest@w3.org>
- Message-ID: <412D7961.4060204@isi.edu>
Sandro Hawke wrote: >>The right solution is to use contexts. Contexts can be implemented >>using quads instead of triples, or by using a scheme for >>encapsulating groups of statements, as is done in the Triple system. >>The DAWG committee is taking baby steps towards contexts by >>including a SOURCE element in BRQL. If you substitute the term >>"context" for "source" in a BRQL query, then you have quads. Some >>of us are planning to "abuse" BRQL by treating the sources as if >>they are contexts. I would not be surprised if members of the DAWG >>committee have that in mind (but I can't speak for them). >> >>At some point in the future, quad stores are likely to become >>commonplace--there are a few already. >> >> > >While I'm fond of quad stores (eg in cwm and SWI prolog) and >agree they're generally the way to go -- how do you propose exchanging >quad-store data? My store knows that source x said {a b c}, but how >do I publish that fact? > > Easy. You create a context C containing all of the triples that "x said", and assert that "x said C". If x said only one statement, then there is one context per statement. However, in practice, the things that "x said", or "x authored", or whatever, tend to come in bunches, so contexts win out over reified statements almost always. This misunderstanding seems to be common. It's rare that one statement captures what you want to say, whether its a time-dependent statement or a probabillistic one, or whatever. This is what is so awful about statement reification. Its completely at the wrong end of the granularity spectrum for most uses, but since it is part of RDF and contexts are not, the general assumption is that contexts have to prove their worth, while reification doesn't. In fact, a rational assessment would take the opposite tack, since there are several major KR systems that routinely use contexts (e.g., Cyc, Loom, EpiKit) and no systems that I know of with any history behind them that use single-statement reification routinely (quoting isn't the same thing). The simple fact is, the original RDF committee blew it when they invented statement reification -- there were no "use cases" around that justified such a decision. Cheers, Bob >It seems to me that some reificiation vocabulary is useful for this, >although I'd recommend that stores de-reify when possible and store as >quads, for the performance reasons you cite. Of course a >serialization with quoting (like N3's {...}) makes it a lot more >readable. > > -- sandro > > > -- Bob MacGregor Chief Scientist Siderean Software Inc 5155 Rosecrans Ave, #1078 Hawthorne, Ca 90250 <http://maps.yahoo.com/py/maps.py?Pyt=Tmap&addr=5155+Rosecrans+Ave&csz=Hawthorne%2C+Ca+90250&country=us> bmacgregor@siderean.com <mailto:bmacgregor@siderean.com> tel: +1-310-491-3424 fax: +1-310-491-3338
Received on Thursday, 26 August 2004 05:47:50 UTC