https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/Head
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://www.nanopub.org/nschema#hasAssertion
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/assertion
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://www.nanopub.org/nschema#hasProvenance
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/provenance
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://www.nanopub.org/nschema#hasPublicationInfo
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/pubinfo
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.nanopub.org/nschema#Nanopublication
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/assertion
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
http://purl.org/dc/terms/description
This query returns the paragraphs of a documentation topic, restricted to those published by a member (admin, maintainer or member tier) of the space maintaining the documentation resource the topic page belongs to, and keeping only the most recent version of each paragraph. This makes wiki-style editing possible: any member can revise any paragraph, and the newest revision is the one shown.
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
http://purl.org/dc/terms/license
http://www.apache.org/licenses/LICENSE-2.0
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
https://w3id.org/kpxl/grlc/grlc-query
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
http://www.w3.org/2000/01/rdf-schema#label
Get the documentation paragraphs of a topic
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
https://w3id.org/kpxl/grlc/endpoint
https://w3id.org/np/l/nanopub-query-1.1/repo/full
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
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 schema: <http://schema.org/>
prefix schemas: <https://schema.org/>
prefix gen: <https://w3id.org/kpxl/gen/terms/>
# The paragraphs of one documentation topic, gated to the members of the space that
# maintains the documentation resource, with only the newest version of each paragraph.
#
# ?_resource_multi_iri is the topic (the part page's own IRI), filled by the view's
# gen:hasViewQueryTargetField. ?__context_multi_iri is the maintained resource the part
# page belongs to; Nanodash fills a placeholder named 'context' automatically with the
# page's context resource, so the space to gate against never has to be hardcoded.
select ?title ?content ?date (str(?np) as ?override_target) ?np ("^" as ?np_label) where {
# One row holding every member pubkey hash of the maintaining space, space-separated.
# A sub-select sharing no variables with the outer query, so it is evaluated once
# rather than per result row.
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 ?__context_multi_iri {}
graph ?stateG {
?__context_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 .
}
# Observers are excluded: that tier can be self-attested and so is no gate at all.
filter(?roleType in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))
}
}
graph npa:graph {
?np npa:hasValidSignatureForPublicKeyHash ?npPubkey ;
dct:created ?date ;
np:hasAssertion ?a .
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?npPubkey . }
}
# Must sit outside the graph block: ?memberPubkeys is bound by the service above.
filter(contains(?memberPubkeys, ?npPubkey))
values ?_resource_multi_iri {}
graph ?a {
?paragraph rdf:type gen:Paragraph ;
schema:title|schemas:title ?title ;
gen:hasContent ?content ;
schema:isPartOf|schemas:isPartOf|schema:about|schemas:about ?_resource_multi_iri .
optional { ?paragraph gen:hasPositionString ?position }
}
# Latest-wins per paragraph: an edit republished by another member keeps the paragraph
# IRI (override fill mode) and only its newest member-signed version is shown.
filter not exists {
graph npa:graph {
?np2 npa:hasValidSignatureForPublicKeyHash ?np2Pubkey ;
dct:created ?date2 ;
np:hasAssertion ?a2 .
filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?np2Pubkey . }
}
graph ?a2 { ?paragraph rdf:type gen:Paragraph ; gen:hasContent ?content2 . }
filter(?date2 > ?date)
filter(contains(?memberPubkeys, ?np2Pubkey))
}
}
order by ?position ?title
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/provenance
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/assertion
http://www.w3.org/ns/prov#wasAttributedTo
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/pubinfo
https://orcid.org/0000-0002-1267-0234
http://xmlns.com/foaf/0.1/name
Tobias Kuhn
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://purl.org/dc/terms/created
2026-09-09T13:10:24Z
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://purl.org/dc/terms/license
https://creativecommons.org/licenses/by/4.0/
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://purl.org/nanopub/x/embeds
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/get-docs-paragraphs
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
http://www.w3.org/ns/prov#wasDerivedFrom
https://w3id.org/np/RAHhVKUA6GgNS0KE2gbOSrDynLHFBWg3ZoM9x0LbsMBjk
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate
https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/sig
http://purl.org/nanopub/x/hasAlgorithm
RSA
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/sig
http://purl.org/nanopub/x/hasPublicKey
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/sig
http://purl.org/nanopub/x/hasSignature
oE5Y7PxrreJp4SCN2a52PCatt1HJVBiHQ+Trz/5r1OzwWqRWVXBQMOAkNH0J8bG5SqvvSvyJ1kHLIaMpki1BK0PLGaAFud903BWL1mHZhNLHw0zFkkozzKujBuDTq7GLewwK9tRGyN1KLshWDf0P74gkUFB1SaIFOVGd4sShAPM=
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/sig
http://purl.org/nanopub/x/hasSignatureTarget
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58
https://w3id.org/np/RA2aIVW1JRxYWLnF4VYKStVjWvxLQJ0n9TAabvj-RNw58/sig
http://purl.org/nanopub/x/signedBy
https://orcid.org/0000-0002-1267-0234