. . . . "Returns one row per kind of activity (study) reported across the projects of a space: the kind with its label, how many activities of that kind there are, and how many projects report at least one. Activities are the resources typed obo:OBI_0000066 (study) that declare themselves part of the space itself or of a space whose IRI extends it with a slash, the same sub-space convention the sibling 'all projects' views use; the kind is any more specific type the study carries in addition to obo:OBI_0000066, such as the OBI investigation classes or the schema.org study classes offered by the 'Defining a study' template, labelled from the pubinfo of the study nanopublication, with studies carrying no more specific type reported as 'study (kind unspecified)'. A study with several specific types counts once under each of them, mirroring the sibling evidence overview query, whose shape this query follows. Only study nanopublications signed by a current admin, maintainer or member of a space in the subtree count, with invalidated, superseded and example nanopublications skipped; the membership lookup is a federated sub-select sharing no variables with the rest of the query, so it runs once." . . . "Get the activity kinds reported across the projects of a space" . . "prefix np: \nprefix npa: \nprefix npx: \nprefix gen: \nprefix dct: \nprefix rdfs: \nprefix obo: \n\nselect ?activity_type\n (min(?typeLabel) as ?activity_type_label)\n (sum(?n) as ?activities)\n (count(distinct ?project) as ?projects)\nwhere {\n {\n select ?activity_type ?project (min(?typeLabel0) as ?typeLabel) (count(distinct ?study) as ?n) where {\n values ?_space_multi_iri {}\n {\n select (group_concat(?mpk; separator=\" \") as ?memberPubkeys) where {\n service {\n select ?mpk where {\n values ?_space_multi_iri {}\n graph npa:graph { npa:hasCurrentSpaceState ?stateG . }\n graph ?stateG {\n ?ri a gen:RoleInstantiation ; npa:forSpace ?sp ; npa:forAgent ?agent ; npa:hasRoleType ?roleType .\n filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))\n ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .\n }\n filter(?sp = ?_space_multi_iri || strstarts(str(?sp), concat(str(?_space_multi_iri), \"/\")))\n }\n }\n }\n }\n graph npa:graph {\n ?studyNp np:hasAssertion ?studyA ; np:hasPublicationInfo ?studyPi ; npa:hasValidSignatureForPublicKeyHash ?studyPk .\n filter not exists { ?studyInv npx:invalidates ?studyNp ; npa:hasValidSignatureForPublicKeyHash ?studyPk }\n filter not exists { ?studySup npx:supersedes ?studyNp }\n filter not exists { ?studyNp npx:hasNanopubType npx:ExampleNanopub }\n }\n filter(contains(?memberPubkeys, ?studyPk))\n graph ?studyA { ?study a obo:OBI_0000066 ; dct:isPartOf ?project . }\n filter(?project = ?_space_multi_iri || strstarts(str(?project), concat(str(?_space_multi_iri), \"/\")))\n # The more specific kind is any further type the study carries; its label is\n # recorded in the pubinfo of the study nanopublication.\n optional {\n graph ?studyA { ?study a ?sub . filter(?sub != obo:OBI_0000066) }\n optional { graph ?studyPi { ?sub rdfs:label ?subLabel } }\n }\n bind(coalesce(?sub, obo:OBI_0000066) as ?activity_type)\n bind(coalesce(?subLabel, if(bound(?sub), replace(str(?sub), \"^.*[/#]\", \"\"), \"study (kind unspecified)\")) as ?typeLabel0)\n } group by ?activity_type ?project\n }\n}\ngroup by ?activity_type\norder by desc(?activities) ?activity_type_label" . . "Tobias Kuhn" . "2026-09-13T05:36:15Z"^^ . . . . "Get the activity kinds reported across the projects of a space" . . . . . "RSA" . "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" . "RjAmWzk4EeclRpiOBP2Tj0TbcIPEjMJ/WqLex5m58R1OuTy2yWx2tI6ZG0hWZYhBlhKvhp/RI6LP2X23Wo7IFXbAcfSiy1LklSL6FCkPrI3TrWjklLY+GQRXqQgxqcP3LJFC6ODZtW9c4N7eHReGSlLH7IRXIvQQtF3c/xR0JqI=" . . .