I have the following query:
SELECT ?tag WHERE { ?r ns9:taggedWithTag ?tagresource. ?tagresource ns9:name ?tag } LIMIT 5000
and the results are:
abc abc abc abc abc abc abc abd ads anb
I want to get somthing like:
tag | count ----------------- abc 7 abd 1 ads 1 anb 1
I have tried it with count(*)
and count(?tag)
, but than I get the error message "Variable or "*" expected."
Can someone tell me, how to make it right?
If you're using Java and Jena's ARQ, you can use ARQ's extensions for aggregates. Your query would look something like:
SELECT ?tag (count(distinct ?tag) as ?count) WHERE { ?r ns9:taggedWithTag ?tagresource. ?tagresource ns9:name ?tag } LIMIT 5000
The original SPARQL specification from 2008 didn't include aggregates, but the current version, 1.1, from 2013 does.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With