Using OFFSET/LIMIT, that is.

On Wed, Dec 23, 2020 at 9:24 AM Martynas Jusevičius
<[email protected]> wrote:
>
> True, but at least you get the right "window" of solutions, of which
> the triples are then unordered.
>
> On Wed, Dec 23, 2020 at 9:16 AM Lorenz Buehmann
> <[email protected]> wrote:
> >
> > Given that CONSTRUCT returns a *set of triples*, I doubt that the
> > ordering will be preserved. At least it doesn't has to be preserved
> > according to the SPARQL standard.
> >
> > Indeed, you might get lucky but this is basically implementation specific
> >
> > On 23.12.20 08:21, Martynas Jusevičius wrote:
> > > If ordering is required, you can use a sub-SELECT in CONSTRUCT:
> > >
> > > CONSTRUCT
> > > {
> > >     ?person :LastName ?LastName; :FirstName ?FirstName; :Address ?Address 
> > > .
> > >     ?Address :Street ?Street; :City ?City; :State ?State; :Zip ?Zip
> > > }
> > > {
> > >     {
> > >         SELECT ?person ?LastName ?FirstName ?Street ?City ?State ?Zip
> > >         WHERE
> > >         {
> > >             ?person :LastName ?LastName; :FirstName ?FirstName;
> > > :Address ?Address .
> > >             ?Address :Street ?Street; :City ?City; :State ?State; :Zip 
> > > ?Zip
> > >         }
> > >     }
> > >     ORDER BY ?LastName ?FirstName
> > > }
> > >
> > > On Tue, Dec 22, 2020 at 5:02 PM Erich Bremer <[email protected]> wrote:
> > >> The construct will give me the raw data, but the select will give me
> > >> distinct solutions (assuming I have DISTINCT specified) and even order 
> > >> them
> > >> for me in various ways. My use case would be a grid that when I want to
> > >> trigger an edit of a particular address displayed. If I could access the
> > >> triple pattern to that specific QuerySolution, I could then construct a
> > >> sparql update query to modify said entry as I could get the complete 
> > >> triple
> > >> associated with a particular city value.  I could include a variable in 
> > >> the
> > >> select for the address, however, then it leaves the coder to keep track 
> > >> of
> > >> what is what out of the variables. It doesn't seem like QuerySolution or
> > >> ResultSet exposes that information, but I would think that information is
> > >> buried somewhere below.  - Erich
> > >>
> > >> On Tue, Dec 22, 2020 at 9:19 AM Nouwt, B. (Barry)
> > >> <[email protected]> wrote:
> > >>
> > >>> I agree with Lorenz that you probably want to look at SPARQL CONSTRUCT 
> > >>> and
> > >>> more specifically CONSTRUCT *WHERE* (
> > >>> https://www.w3.org/TR/sparql11-query/#constructWhere).
> > >>>
> > >>> Your query would become:
> > >>>
> > >>> CONSTRUCT WHERE {
> > >>>         ?person :LastName; :FirstName ?FirstName; :Address ?Address .
> > >>>         ?Address :Street ?Street; :City ?City; :State ?State; :Zip ?Zip
> > >>> }
> > >>>
> > >>> -----Original Message-----
> > >>> From: Lorenz Buehmann <[email protected]>
> > >>> Sent: dinsdag 22 december 2020 14:49
> > >>> To: [email protected]
> > >>> Subject: Re: Returning a Triple from a QuerySolution for each Solution
> > >>> Variable
> > >>>
> > >>> Not sure if I understand your question, but should you just use SPARQL
> > >>> CONSTRUCT queries if you want to get triples?
> > >>>
> > >>> On 22.12.20 14:34, Erich Bremer wrote:
> > >>>> After executing a select statement like:
> > >>>>
> > >>>> select ?person ?LastName ?FirstName ?Street ?City ?State ?Zip where
> > >>>> {?person :LastName; :FirstName ?FirstName; :Address ?Address .
> > >>>>                      ?Address :Street ?Street; :City ?City; :State
> > >>>> ?State; :Zip ?Zip}
> > >>>>
> > >>>> and iterating through the ResultSet I can get (each person can have
> > >>>> multiple addresses linked via a blank node):
> > >>>> <person1> "Smith" "John" "3 RDF Road" "Semantic" "New York" "12345"
> > >>>> <person1> "Smith" "John" "22 Linked Lane" "Data City" "New York" 
> > >>>> "22113"
> > >>>>
> > >>>> Is there any way to get the underlying TriplePaths (defined in the
> > >>>> where clause of the Select) for each QuerySolution as I iterate
> > >>>> through the ResultSet, something like:
> > >>>>
> > >>>> qs.getTriple("City") ;
> > >>>>    <_:b1> :City "Semantic" .
> > >>>> qs = rs.next();
> > >>>> qs.getTriple("City");
> > >>>>    <_:b2> :City "Data City" .
> > >>>>
> > >>>> or possibly even iterators of Triples since each solution variable
> > >>>> could be part of multiple TriplePaths.
> > >>>>
> > >>>>   - Erich
> > >>>>
> > >>> This message may contain information that is not intended for you. If 
> > >>> you
> > >>> are not the addressee or if this message was sent to you by mistake, you
> > >>> are requested to inform the sender and delete the message. TNO accepts 
> > >>> no
> > >>> liability for the content of this e-mail, for the manner in which you 
> > >>> use
> > >>> it and for damage of any kind resulting from the risks inherent to the
> > >>> electronic transmission of messages.
> > >>>

Reply via email to