- From: John Walker <john.walker@semaku.com>
- Date: Mon, 29 Jun 2015 15:08:08 +0200 (CEST)
- To: Ruben Verborgh <ruben.verborgh@ugent.be>
- Cc: public-linked-data-fragments@w3.org, Markus Lanthaler <markus.lanthaler@gmx.net>, Miel Vander Sande <Miel.VanderSande@UGent.be>
> On June 29, 2015 at 2:28 PM Ruben Verborgh <ruben.verborgh@ugent.be> wrote:
>
>
> Hi John,
>
> > I would say that constructing an RDF dataset on the fly using FROM and FROM
> > NAMED over multiple TPFs would suffice, unless one wants to access the graph
> > names in a query.
>
> Exactly!
>
> > Out of interest how did the quad-based TPF interface work?
>
> Well, we haven't fully nailed it down yet.
>
> > I assume it allows an extra graph parameter in the request e.g.
> > http://example.org/fragments{?s,p,o,g}
>
> Yes, that's already the base case.
> (And in this context, it really sucks that RDF 1.1 didn't define rdf:graph,
> just like we already have rdf:subject and the others.)
Yes indeed
>
> However, one of the issues we have there is:
> what is nothing is filled in for graph?
> Does this mean "give anything" (as it does for the others?)
> Or does it mean "give default"?
> And in both cause, how do you express the other thing?
Maybe take a lead from the Graph Store HTTP Protocol method of indirect graph
identification:
http://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/#indirect-graph-identification
Of course there might also be use cases where one might also want to address the
union graph.
>
> > What was the response, triples or quads?
>
> Would need to be quads I guess.
> With conneg, the "normal" TPF interface also supports quads,
> and it uses a non-default graph for metadata/controls.
> That way, they are easily separated from the data.
>
> > Also as a technical point I thought HDT only supports triples, so how was
> > this
> > done on the backend?
>
> Well, TPF is of course independent from HDT.
> One option to implement this is multiple HDT files,
> plus perhaps one separate HDT file to query graph names.
> Or just implement it on top of something that is not HDT.
>
> I'm not trying to be vague here, but can't say much yet
> because the student's work still needs official grading etc.
> The student who worked on it will become our colleague in August,
> so by then, he'll be able to send you all of the details.
>
> > I could imagine the quads interface would act like a proxy to access
> > multiple
> > TPF interfaces.
>
> Exactly!
> (Plus the one index then for graph name queries.)
Just wondering out loud, but how would you go about making the request to list
all the graph names to such a quads interface?
SPARQL is pretty trivial:
SELECT DISTINCT ?g WHERE { graph ?g { ?s ?p ?o } }
To address the same question to the quads fragment might be:
http://example.org/fragments?g=%3Fg
But I would guess this would return all statements that are in a named graph
(rather than the list of graphs), which potentially could be a lot of data.
>
> Best,
>
> Ruben
John
Received on Monday, 29 June 2015 13:08:40 UTC