Re: DBLP Sparql Endpoint

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