Perhaps https://www.w3.org/TR/sparql11-query/#subqueries ?
--- A. Soroka The University of Virginia Library > On Aug 22, 2016, at 9:40 AM, Chris Jones <[email protected]> wrote: > > On 8/22/2016 7:33 AM, Jean-Marc Vanel wrote: >> Try a FILTER clause involving ?g1 and ?g2 . > > I don't see how that would be any better; I'd still be specifying two > separate graphs ?g1 and ?g2, instead of a union graph ?g. Is there something > I don't understand? > >> there is also the unionGraph but it takes everything in all named graphs . > > Thanks, but that's definitely not what I want. I want a way to take only some > of the named graphs. > > Is there a way to do a CONSTRUCT as a subquery, and perform my select against > the results of that subquery? > > Chris > >> >> 2016-08-22 15:21 GMT+02:00 Chris Jones <[email protected]>: >> >>> Hi All, >>> >>> Is it possible to run a query against the union of a bunch of named >>> graphs, where each named graph is selected by some logic? As an example, I >>> have something like this: >>> >>> select ?attr ?value ?attrName where { >>> graph ?g1 { >>> ?subj ?attr ?value . >>> } >>> graph ?g2 { >>> ?attr rdfs:label ?attrName . >>> } >>> ?g1 xyz:good true . >>> ?g2 xyz:good true . >>> } >>> >>> ...so I'm grabbing data from g1, and metadata from g2. Both g1 and g2 are >>> selected using some kind of logic; and they might be the same graph. You >>> can imagine a larger query, expressed in this style, could get very >>> complex. Is there instead a way to specify a union graph made up of all the >>> graphs for which a predicate is true, and then perform a query against that >>> union graph? >>> >>> Chris >>> >> >> >
