- From: Alfredo Serafini <seralf@gmail.com>
- Date: Fri, 4 Apr 2014 16:43:22 +0200
- To: Saud Aljaloud <saud.aljaloud@gmail.com>
- Cc: Wetz Peter <peter.wetz@tuwien.ac.at>, "public-lod@w3.org community" <public-lod@w3.org>
- Message-ID: <CADawF4On5U1Xw_DfaFksHE58h7FbSZPGm0FSGujy5pCdzFjMWw@mail.gmail.com>
indeed, as said before 2014-04-04 16:40 GMT+02:00 Saud Aljaloud <saud.aljaloud@gmail.com>: > I think this is a server-side config issue. > > By trying the query: > > SELECT count(?n) WHERE { > ?a a foaf:Agent . > ?a foaf:name ?n . > } > > the result is 10000. > > Also, from the the page [1] it says that the limit is indeed 10000. As the > name implied, regex usually works as a filter, meaning that only the > intermediate results are going to be regexed. In this case, they are only > the first 10000 records. Even using offset as 10000 won't work > unfortunately. > > I'd suggest you contact the D2R server guys on the mailing list [2]. Other > engines usually provide some sort of unlimited modifiers like limit -1, but > it's also not the case here. Seems to be issue with translating sparql > limit into sql. > > > Cheers, > Saud > > > [1] http://dblp.l3s.de/dblp++.php > [2] http://sourceforge.net/p/d2rq-map/mailman/ > > > On 4 Apr 2014, at 14:59, Alfredo Serafini <seralf@gmail.com> wrote: > > seems like there is some kind of server side config limit > > > 2014-04-04 15:32 GMT+02:00 Wetz Peter <peter.wetz@tuwien.ac.at>: > >> Hi! >> >> >> >> Thanks for your detailed reply and suggestions. >> >> >> >> But look at this query, which proves that there are indeed authors >> starting with ‘B’ at this endpoint: >> >> >> >> SELECT DISTINCT * WHERE { >> >> ?a a foaf:Agent . >> >> ?a foaf:name ?n . >> >> FILTER (?n = "Bertram Poettering") >> >> } >> >> LIMIT 10 >> >> >> >> I dont know, why the REGEX queries do not return this result. >> >> >> >> for my example above (and according to your suggestion) the following >> query should also have the same result as above, but it hasn’t: >> >> >> >> SELECT DISTINCT * WHERE { >> >> ?a a foaf:Agent . >> >> ?a foaf:name ?n . >> >> FILTER regex(?n, "bertram","i") >> >> } >> >> limit 10 >> >> >> >> to me it seems as if the REGEX and String-functions only operate on a >> subset of the endpoint, i.e. on authors starting with an “A”. Why it is >> like that, i don’t know. >> >> >> >> Best, >> >> Peter >> >> >> >> *Von:* Saud Al-Jaloud [mailto:saud.aljaloud@gmail.com] >> *Gesendet:* Freitag, 04. April 2014 13:04 >> >> *An:* Wetz Peter >> *Cc:* public-lod@w3.org >> *Betreff:* Re: DBLP Sparql Endpoint >> >> >> >> >> >> Hi, >> >> >> >> It's alway worth trying the query without the filter just to make sure of >> what to expect from regex. >> >> >> >> Or, negate the first regex like: >> >> >> >> SELECT DISTINCT * WHERE { >> >> >> >> ?a a foaf:Agent . >> >> >> >> ?a foaf:name ?n . >> >> >> >> FILTER regex(?n, '^[^a]', 'i') >> >> >> >> } >> >> >> >> You will see that names that don’t start with an 'a' are like these: >> >> >> >> "(Max) Zong-Ming Cheng” >> >> "Á. B. Nagy" >> >> >> >> This means that there are no names start with 'b’. That’s why you got no >> results. >> >> >> >> >> >> If you are just searching for names, why not just write like this: >> >> >> >> SELECT DISTINCT * WHERE { >> >> >> >> ?a a foaf:Agent . >> >> >> >> ?a foaf:name ?n . >> >> >> >> FILTER regex(?n, ‘b', 'i') >> >> >> >> } >> >> >> >> This above query will match any ‘b' character at any position. Or write >> more specific regex to match a position. >> >> >> >> Also, as suggested, other functions from SPARQL 1.1 like : STRSTARTS or >> CONTAINS would be, in principles, more efficient, but this would depend if >> the sparql engine is compatible with 1.1. >> >> I might be wrong but it seems not working on this endpoint so far. >> >> >> >> Cheers, >> >> >> >> Saud. >> >> >> > > >
Received on Friday, 4 April 2014 14:43:50 UTC