- From: Seaborne, Andy <andy.seaborne@hp.com>
- Date: Thu, 09 Sep 2004 10:02:18 +0100
- To: kendall@monkeyfist.com
- CC: Dave Beckett <dave.beckett@bristol.ac.uk>, Dan Connolly <connolly@w3.org>, RDF Data Access Working Group <public-rdf-dawg@w3.org>
Kendall Clark wrote:
> On Wed, Sep 08, 2004 at 10:25:45PM +0100, Dave Beckett wrote:
>
>>My issue is described as "SOURCE premature stdization" to
>>which my answer is "no it isn't premature", as at least 3 members
>>of the WG have already reported that they implement and want such
>>tracking. @semantics in rdfstore, Southampton in 3store, me
>>in redland (tucana in kowari maybe also). I assume the WG
>>generally knows this.
>
>
> Mindlab wants and uses a tool, rdflib, that supports it. For the
> record.
>
> Kendall
>
We've (Dave Reynolds, Damian Steer) implemented in the SWAD-e
demonstrator SWED (Semantic Web Environment Directory)
http://www.swed.org.uk/swed/index.html
The design concept is like the "named containers" outline. Quads is one
possible implementation, so is a union of RDF graphs (i.e. held
separately with a code layer to get the semantics right). Which is
better (faster) depends on what you want to do with it.
I have tried SOURCE as named containers in my prototype BRQL (as of
yesterday!) and it looks OK. Specifically, it does not require quads
and a quadded implementation has the same kinds of tradoffs. If its an
ad hoc aggregation keeping them separate is probably better, if its used
over many queries, its probably not.
I did find that if the SOURCE (ORIGIN) statement has a constrained
variable (it has a value at the point of execution time with the overall
query execution) then its neutral to quads vs named union; if its
unconstrained - has not yet got a value -
SOURCE ?src { .... pattern ... }
then ?src needs to loop over the distinct values of the ORIGIN slot.
Query reordering to make sure its bound woudl be good.
Andy
Received on Thursday, 9 September 2004 09:03:44 UTC