- From: Alfredo Serafini <seralf@gmail.com>
- Date: Fri, 4 Apr 2014 15:59:58 +0200
- To: Wetz Peter <peter.wetz@tuwien.ac.at>
- Cc: Saud Al-Jaloud <saud.aljaloud@gmail.com>, "public-lod@w3.org" <public-lod@w3.org>
- Message-ID: <CADawF4MdiW3Xt2q+8nYqyDrvWqbir1QOAZf_y1BHD2yNj+R3Cw@mail.gmail.com>
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:00:32 UTC