https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/Head https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/assertion https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/provenance https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/pubinfo https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/assertion https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics http://purl.org/dc/terms/description The topics of a documentation collection in reading order, each with its description and the number of its paragraphs. A topic's newest member-signed declaration counts; a newer removal (gen:DeactivatedDocumentationTopic) hides it. Paragraph counts include only current, member-signed paragraphs, so moved and removed ones are not counted. https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics http://purl.org/dc/terms/license http://www.apache.org/licenses/LICENSE-2.0 https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics http://www.w3.org/2000/01/rdf-schema#label Get the table of contents of a documentation collection https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics https://w3id.org/kpxl/grlc/endpoint https://w3id.org/np/l/nanopub-query-1.1/repo/full https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics https://w3id.org/kpxl/grlc/sparql prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix dct: <http://purl.org/dc/terms/> prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix gen: <https://w3id.org/kpxl/gen/terms/> prefix schema: <http://schema.org/> prefix schemas: <https://schema.org/> # The table of contents of a documentation collection: each topic's newest declaration by a # member of the maintaining space, in reading order (position, then label), with its description # and the number of paragraphs it has. Shaped for a paragraph view: ?paragraph is the topic's own # IRI (so the heading links to the topic page), ?title its label, ?content the description and # paragraph count. select ?paragraph ?title ?content (str(?np) as ?override_target) ?np ("^" as ?np_label) where { { select ?topic ?np ?date (min(?l) as ?title) (min(?pos) as ?position) (min(?d) as ?description) where { service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } values ?_resource_multi_iri {} graph ?stateG { ?_resource_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?roleType . ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk . } filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) } } values ?_resource_multi_iri {} graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?k ; dct:created ?date ; np:hasAssertion ?a . filter not exists { ?x npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?k . } } filter(contains(?memberPubkeys, ?k)) graph ?a { ?topic gen:isRelevantFor ?_resource_multi_iri ; rdfs:label ?l . optional { ?topic gen:hasPositionString ?pos . } optional { ?topic dct:description ?d . } } filter not exists { graph npa:graph { ?np2 npa:hasValidSignatureForPublicKeyHash ?k2 ; dct:created ?date2 ; np:hasAssertion ?a2 . filter not exists { ?y npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?k2 . } } # a newer declaration, or a newer removal (gen:DeactivatedDocumentationTopic), replaces this one graph ?a2 { { ?topic gen:isRelevantFor ?_resource_multi_iri . } union { ?topic rdf:type gen:DeactivatedDocumentationTopic . } } filter(?date2 > ?date) filter(contains(?memberPubkeys, ?k2)) } } group by ?topic ?np ?date } # number of paragraphs about the topic: member-signed, newest version of each paragraph only, # so moved and removed paragraphs are not counted { select ?topic (count(distinct ?p) as ?n) where { service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(?mpk2; separator=" ") as ?memberPubkeys2) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG2 . } values ?_resource_multi_iri {} graph ?stateG2 { ?_resource_multi_iri npa:isMaintainedBy? ?space2 . ?ri2 a gen:RoleInstantiation ; npa:forSpace ?space2 ; npa:forAgent ?agent2 ; npa:hasRoleType ?roleType2 . ?acct2 a npa:AccountState ; npa:agent ?agent2 ; npa:pubkey ?mpk2 . } filter(?roleType2 in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) } } values ?_resource_multi_iri {} graph ?tg { ?topic gen:isRelevantFor ?_resource_multi_iri . } graph npa:graph { ?pnp npa:hasValidSignatureForPublicKeyHash ?pk ; dct:created ?pdate ; np:hasAssertion ?pa . filter not exists { ?z npx:invalidates ?pnp ; npa:hasValidSignatureForPublicKeyHash ?pk . } } filter(contains(?memberPubkeys2, ?pk)) graph ?pa { ?p rdf:type gen:Paragraph ; schema:about|schemas:about ?topic . } filter not exists { graph npa:graph { ?pnp2 npa:hasValidSignatureForPublicKeyHash ?pk2 ; dct:created ?pdate2 ; np:hasAssertion ?pa2 . filter not exists { ?w npx:invalidates ?pnp2 ; npa:hasValidSignatureForPublicKeyHash ?pk2 . } } graph ?pa2 { ?p rdf:type ?ptype2 . } values ?ptype2 { gen:Paragraph gen:DeactivatedParagraph } filter(?pdate2 > ?pdate) filter(contains(?memberPubkeys2, ?pk2)) } } group by ?topic } bind(?topic as ?paragraph) bind(concat("<p>", coalesce(?description, ""), "</p><p><em>", str(?n), " paragraph", if(?n = 1, "", "s"), "</em></p>") as ?content) } order by ?position ?title https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/provenance https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/assertion http://www.w3.org/ns/prov#wasAttributedTo https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/pubinfo https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://purl.org/dc/terms/created 2026-09-16T15:13:48Z https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://purl.org/dc/terms/creator https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://purl.org/dc/terms/license https://creativecommons.org/licenses/by/4.0/ https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://purl.org/nanopub/x/embeds https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/get-docs-topics https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g http://purl.org/nanopub/x/supersedes https://w3id.org/np/RA0m-5A9NjJagaJ4aPz8xnhUPEMxZCOlle0t_4kQ3kmuQ https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8 https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/sig http://purl.org/nanopub/x/hasPublicKey MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/sig http://purl.org/nanopub/x/hasSignature IgKwrbHi1oSzEwbCkjvCNkPhGG5XLD7MAYQyPe7QJogiVQDbtgpp/AdWVNOzIzA9IX2aDjIjI2COC8Ofb4F8YRmG9RInUVGZ4JvAPLD3wkGuIhrcmpb+5oU6trVyf8nGtt8qMN9btBIYA8D0MfXfU3znsuvOHDQq/rehc5PuusF8sXLRdNv6cFvgmcpNTfl9g+1dpZ2sC7Wo74fOF2mgH+zsQxOgeTnhx6Moc8KBexFdLgghqUnxefFiaNomlTt6a3muSxXtS/GO1R4M4xbSuemAhEAJRgjpzeLJNTu61ibdsVZ1DTmLEZ7JmivsJtaT1HFUqAiYWLgTaHsbcOg0ow== https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g https://w3id.org/np/RA_QcFRTOjwYRz5Yw7d5uepH9RYhrmovFWUJ0kLsuMo_g/sig http://purl.org/nanopub/x/signedBy https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot