Re: Most Stable Current SPARQL Implementation?

That looks like complex SQL but fairly simple logic, based on my  
scanning... I see no reason why any SPARQL tool (coming to mind are  
Rasqal, twinql (mine), and ARQ) couldn't do it.

The speed of such a query would be dependent on the underlying store,  
too -- some aren't indexed on each part of a triple, so some queries  
are slow, and I'm not about to manually translate that SQL to check.

One thing you might have difficulty with is grouping; you'll have to  
carefully think about what you're trying to get back.

-R

On 10 Oct 2005, at 09:07, Adrian Walker wrote:

> Hi All --
>
> We have a system [1] that supports business rules in open  
> vocabulary English.
>
> From the rules, the system can generate complex SQL, such as the  
> sample below [2].
>
> I'm wondering please whether, if we extend the generator to SPARQL,  
> there is currently a SPARQL implementation that could handle this  
> degree of query complexity?
>
> In any case, your recommendations about the currently most W3C  
> compliant and stable version of SPARQL would be much appreciated.
>
> Thanks in advance,  -- Adrian
>
> [1] Online at www.reengineeringllc.com.  Shared,  community use is  
> free.
>
> [2]
> select distinct x6,T2.PRODUCT,T1.NAME,T2.AMOUNT,x5 from
>   T6 tt1,T6 tt2,T5,T4,T3,T2,T1,T6,
>   (select x3 x6,T6.FINISHED_PRODUCT x7,T6.ID x8,tt1.ID x9,tt2.ID  
> x10,sum(x4) x5 from
>     T6,T6 tt1,T6 tt2,
>     ((select T6.ID x3,T3.PRODUCT1,T1.NAME,T2.AMOUNT x4,T2.PRODUCT from
>       T1,T2,T3,T4,T5,T6,T6 tt1,T6 tt2 where
>         T1.NAME=T2.NAME and T1.REGION=T6.REGION and  
> T2.MONTH1=T4.MONTH1 and
>         T2.MONTH1=T6.MONTH1 and  T2.PRODUCT=T3.PRODUCT2 and  
> T4.MONTH1=T6.MONTH1 and
>         T3.PRODUCT1=T6.FINISHED_PRODUCT and T3.SEASON=T4.SEASON and  
> T3.SEASON=T5.SEASON and
>         T4.SEASON=T5.SEASON and T6.ID=tt1.ID and  T6.ID=tt2.ID and  
> tt1.ID=tt2.ID)
>      union
>      (select T6.ID x3,T2.PRODUCT,T1.NAME,T2.AMOUNT x4,T2.PRODUCT from
>        T1,T2,T3,T4,T5,T6,T6 tt1,T6 tt2 where
>         T1.NAME=T2.NAME and T1.REGION=T6.REGION and  
> T2.MONTH1=T6.MONTH1 and
>         T2.PRODUCT=T6.FINISHED_PRODUCT and T6.ID=tt1.ID and  
> T6.ID=tt2.ID and tt1.ID=tt2.ID)
>     )  group by T6.FINISHED_PRODUCT,T6.ID,tt1.ID,tt2.ID,x3) where
>       T6.ID=tt2.ID and tt1.ID=T6.ID and T6.FINISHED_PRODUCT=x7 and  
> T6.ID=x8 and tt1.ID=x8 and
>       tt2.ID=x8 and T1.NAME=T2.NAME and T1.REGION=tt2.REGION and  
> T2.MONTH1=T4.MONTH1 and
>       T2.MONTH1=tt2.MONTH1 and T2.PRODUCT=T3.PRODUCT2 and
>       T3.PRODUCT1=tt1.FINISHED_PRODUCT and  
> T3.PRODUCT1=tt2.FINISHED_PRODUCT and
>       T3.SEASON=T4.SEASON and T3.SEASON=T5.SEASON and  
> T4.MONTH1=tt2.MONTH1 and
>       T4.SEASON=T5.SEASON and T6.ID=x6 and  
> tt1.FINISHED_PRODUCT=tt2.FINISHED_PRODUCT and
>       tt1.ID=tt2.ID and tt1.ID=x6 and tt2.ID=x6
>          order by x6,T2.PRODUCT,T1.NAME,T2.AMOUNT,x5;

Received on Monday, 10 October 2005 16:19:33 UTC