You're counting the same thing you're grouping by. I think you need:

    SELECT ?c (COUNT(DISTINCT ?p) AS ?pcount)
    WHERE {
       ?s a ?c .
       ?s ?p ?o .
    }
    GROUP BY ?c

http://sparql.org/sparql?query=++++SELECT+%3Fc+%28COUNT%28DISTINCT+%3Fp%29+AS+%3Fpcount%29%0D%0A++++WHERE+%7B%0D%0A+++++++%3Fs+a+%3Fc+.%0D%0A+++++++%3Fs+%3Fp+%3Fo+.%0D%0A++++%7D%0D%0A++++GROUP+BY+%3Fc&default-graph-uri=http%3A%2F%2Fwww.snee.com%2Fbobdc.blog%2Ffiles%2FBeatlesMusicians.ttl&output=text&stylesheet=%2Fxml-to-html.xsl

On Tue, Jan 25, 2022 at 12:05 AM Bob DuCharme <b...@snee.com> wrote:
>
> Using arq and the data at
> http://www.snee.com/bobdc.blog/files/BeatlesMusicians.ttl, I’m trying to
> write a query that will list the classes used in the data and the number
> of distinct properties used by instances of that class. I’m having a
> hard time and can’t even write a query that lists the number of
> properties used for just one of the classes; the following just shows me
> a series of ones.
>
>     SELECT (COUNT(DISTINCT ?p) AS ?pcount)
>     WHERE {
>        ?s a <http://learningsparql.com/ns/schema/Song> .
>        ?s ?p ?o .
>     }
>     GROUP BY ?p
>
> Any suggestions?
>
> Thanks,
>
> Bob
>

Reply via email to