Thanks for your help, Andy!

dfcp

--
diogo patrão




On Thu, Sep 5, 2013 at 8:09 AM, Andy Seaborne <[email protected]> wrote:

> On 04/09/13 11:32, Diogo FC Patrao wrote:
>
>> Hi Andy
>>
>> Thanks for answering! I'll look into OpExecutor to see if I get somewhere.
>>
>> Couldn't find the webpage to this quack library, is it published yet?
>>
>
> Not yet; its in my github  area (user 'afs')/
>
> There is code there that might help you (that said, hash join is actually
> one of the simpler join algorithms to implement if you want in-memory joins
> datastructures).
>
>         Andy
>
>
>> Cheers,
>>
>> Dfcp
>>
>> On Tuesday, September 3, 2013 <x-apple-data-detectors://24>, Andy Seaborne
>>
>> wrote:
>>
>>  On 02/09/13 19:03, Diogo FC Patrao wrote:
>>>
>>
>>
>>
>>
>>    Hi
>>>
>>>>
>>>> I'm running a query with join results from two endpoints:
>>>>
>>>> SELECT * {
>>>>     SERVICE <s1> { ?a a :Class1 } # q1
>>>>     SERVICE <s2> { ?a a :Class2 } # q2
>>>> }
>>>>
>>>> I noticed (by running ARQ 2.8.8 with -v) that it first dispatches query
>>>> q1
>>>> on s1 and then one query q2 on s2 *for each result* in the previous
>>>> query.
>>>>
>>>> Is there any other way of doing it? I mean, I'm getting like 1M results
>>>> from q1, maybe it would be better to get all results from q2 and then
>>>> join
>>>> them in memory, or pass more than one value at a time for q2 (the VALUE
>>>> tag
>>>> allows that).
>>>>
>>>>
>>> Without programming, there is not a way to control the execution. You can
>>> implement a OpExecutor and provide your own implementation of join.
>>>
>>> There are many issues such as how to know the sizes from a remote service
>>> and how to send data to a remote service from s1 to s2 -- VALUEs assumes
>>> looping back through the query engine, but does s2 allow huge SPARQL.
>>>  See
>>> bind joins from the IBM Garlic papers.
>>>
>>> ARQ provides the basics - remote execution - but isn't a federated query
>>> optimizer.
>>>
>>> There is a not-yet-ready query engine, called 'quack', that provides
>>> merge
>>> and hash joins - only on BGPs currently but the code, in principle, is
>>> general.
>>>
>>>          Andy
>>>
>>>
>>>  Cheers!
>>>>
>>>>
>>>> --
>>>> diogo patrão
>>>>
>>>>
>>>>
>>>
>>
>

Reply via email to