It would be nice if the possible arguments to --syntax were listed on
the wiki page for tdbquery

On Thu, Jan 6, 2011 at 2:06 PM, Andy Seaborne
<[email protected]> wrote:
>
>
> On 06/01/11 18:47, Benson Margulies wrote:
>>
>> In my store I have (for purposes of discussion)
>>
>> one tuple S P O
>>
>> and then some number of quadlets on it.
>>
>> I want to find out how many.
>
> SELECT (Count(*) AS ?C)
> {
>   ?x rdf:subject S .
>   ?x rdf:predicate P .
>   ?x rdf:object O .
> }
>
> which assumes fully reified.
>
>> However, to make matters more complex, what I'd really like to do is
>> set up a construct query that finds
>>
>>
>> S (p1|p2|p3|p4...) O
>
> SELECT (Count(*) AS ?C)
> {
>   ?x rdf:subject S .
>   ?x rdf:predicate ?P .
>   ?x rdf:object O .
>   FILTER ( ?P IN ( p1, p2, p3, p4) )
> }
>
>
>> and also then returns the count of quadlets for each of these it comes up
>> with.
>
> Finding then counting, and finding and returning needs duplication of the
> thing.  It's a quirk in the whole relation algebra thing  - you can't assign
> subexpressions and reuse them - this is not unique to SPARQL.  To look at it
> another way, counting is destructive on the things being counted.
>
>> Is this plausible .... ? Obviously, I can do it by first finding the
>> statements and then going back and using the COUNT extension to do the
>> counting.
>
> COUNT isn't an extension - it's part of SPARQL 1.1
>
>> Is TDB particularly good or bad at this?
>
> It does not anything special but caching is your friend (and mime).
>
>        Andy
>

Reply via email to