https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/Head
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://www.nanopub.org/nschema#hasAssertion
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/assertion
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://www.nanopub.org/nschema#hasProvenance
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/provenance
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://www.nanopub.org/nschema#hasPublicationInfo
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/pubinfo
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.nanopub.org/nschema#Nanopublication
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/assertion
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
http://purl.org/dc/terms/description
Returns the nanosuggestions currently assigned to a given agent, for that agent's user page: title, kind, current status, the spaces the nanosuggestion is relevant for, who assigned it and when. Only the most recent assignment of each nanosuggestion counts, so a reassignment moves the entry to the new assignee instead of leaving it with both. Also returns the winning assignment nanopublication if there is one, so a reassign action can seed its form from it, and an assign target that is empty in that case so that assign and reassign are offered exclusively. Unlike the space-page listing, this query is not gated on space membership: a user page has no space to resolve membership against, so every assignment naming the agent is shown.
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
http://purl.org/dc/terms/license
http://www.apache.org/licenses/LICENSE-2.0
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
https://w3id.org/kpxl/grlc/grlc-query
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
http://www.w3.org/2000/01/rdf-schema#label
Get the nanosuggestions assigned to an agent
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
https://w3id.org/kpxl/grlc/endpoint
https://w3id.org/np/l/nanopub-query-1.1/repo/type/29e2f808e4864fca4930806dee70c4a32df54a63ee90156244910a47d3443736
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
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 foaf: <http://xmlns.com/foaf/0.1/>
prefix np: <http://www.nanopub.org/nschema#>
prefix npa: <http://purl.org/nanopub/admin/>
prefix npx: <http://purl.org/nanopub/x/>
prefix schema: <https://schema.org/>
prefix gen: <https://w3id.org/kpxl/gen/terms/>
prefix nsug: <https://w3id.org/np/RA5BAdUvlxLWMWFQN3UVKoIQEB_MYTiAoLH1klXJ7z-XI/>
select distinct ?item_multi_iri ?item_label_multi ?kind ?status ?spaces_multi_iri ?spaces_label_multi
?assigned_by ?assigned_by_label ?date ?suggestion ?np ?fill_source ?assign_target
where {
# grlc fills this block with the page's agent IRI. A multi-valued (_multi_iri)
# parameter REQUIRES the empty values block: used bare the variable simply stays
# unbound, and the assignee pattern then matches every agent.
values ?_resource_multi_iri {}
# the most recent assignment nanopub for each nanosuggestion
{ select ?suggestion (max(concat(?ad, ' ', str(?anp))) as ?apick) where {
graph npa:graph {
?anp npa:hasValidSignatureForPublicKeyHash ?apk ; np:hasAssertion ?aa ; dct:created ?adate .
filter not exists { ?anpi npx:invalidates ?anp ; npa:hasValidSignatureForPublicKeyHash ?apk . }
}
graph ?aa { ?suggestion schema:agent ?ag . }
bind(str(?adate) as ?ad)
} group by ?suggestion }
bind(iri(strafter(?apick, ' ')) as ?assignNp)
# ...and it must name this agent, so a later reassignment removes the entry
graph npa:graph { ?assignNp np:hasAssertion ?assignA ; dct:created ?date .
optional { ?assignNp dct:creator ?assigned_by } }
graph ?assignA { ?suggestion schema:agent ?_resource_multi_iri . }
# the declaring nanopub carries the title and kind
graph npa:graph {
?np npa:hasValidSignatureForPublicKeyHash ?pubkey ; np:hasAssertion ?a .
filter not exists { ?npi npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
}
graph ?a {
?suggestion a nsug:Nanosuggestion ; rdfs:label ?title .
optional { ?suggestion a ?k . filter(?k != nsug:Nanosuggestion && ?k != schema:Statement) }
}
# current status: no space to anchor to on a user page, so the most recent one overall
optional {
{ select ?suggestion (max(concat(?sd, ' ', str(?s))) as ?pick) where {
graph npa:graph {
?snp npa:hasValidSignatureForPublicKeyHash ?spk ; np:hasAssertion ?sa ; dct:created ?sdate .
filter not exists { ?snpi npx:invalidates ?snp ; npa:hasValidSignatureForPublicKeyHash ?spk . }
}
graph ?sa { ?suggestion schema:actionStatus ?s . }
bind(str(?sdate) as ?sd)
} group by ?suggestion }
}
bind(coalesce(iri(strafter(?pick, ' ')), schema:PotentialActionStatus) as ?st)
bind(if(?st = schema:CompletedActionStatus, 'done',
if(?st = schema:FailedActionStatus, 'rejected',
if(?st = schema:ActiveActionStatus, 'in progress', 'open'))) as ?status)
# which spaces the nanosuggestion is relevant for
optional {
{ select ?suggestion (group_concat(distinct str(?sp); separator=' ') as ?spaces_multi_iri)
(group_concat(distinct ?splabel; separator='\n') as ?spaces_label_multi) where {
graph npa:graph {
?lnp npa:hasValidSignatureForPublicKeyHash ?lpk ; np:hasAssertion ?la .
filter not exists { ?lnpi npx:invalidates ?lnp ; npa:hasValidSignatureForPublicKeyHash ?lpk . }
}
graph ?la { ?suggestion gen:isRelevantFor ?sp . }
optional { ?sp rdfs:label ?spl . filter(lang(?spl) = '') }
bind(coalesce(?spl, replace(str(?sp), '^.*/', '')) as ?splabel)
} group by ?suggestion }
}
optional { ?assigned_by foaf:name ?assigned_by_label }
# the winning *genuine* assignment nanopub, used only to seed the reassign form
optional {
{ select ?suggestion (max(concat(?fd, ' ', str(?fnp))) as ?fpick) where {
graph npa:graph {
?fnp npa:hasValidSignatureForPublicKeyHash ?fpk ; np:hasAssertion ?fa ; dct:created ?fdate .
filter not exists { ?fnpi npx:invalidates ?fnp ; npa:hasValidSignatureForPublicKeyHash ?fpk . }
}
graph ?fa { ?suggestion schema:agent ?fag . }
# Only a *reporting* nanopub asserts the issue's title, so this keeps the
# candidates to genuine assignment nanopubs. Seeding the assign form from a
# report would leave its title/description/status/space unmatched, which is
# what produces the "could not be filled in" warning.
filter not exists { graph ?fa { ?suggestion rdfs:label ?titleHere . } }
bind(str(?fdate) as ?fd)
} group by ?suggestion }
bind(iri(strafter(?fpick, ' ')) as ?fill_source)
}
# "assign..." is offered only while there is no assignment nanopub yet; once there
# is one, "reassign..." takes over (it seeds the form from it). An empty string is
# the off-switch: applyEntryMappings hides a button whose mapped value is blank.
# Written with an empty string rather than an unbound value because RDF4J evaluates
# both if() branches eagerly, so an erroring branch would blank the column always.
bind(if(bound(?fill_source), '', str(?suggestion)) as ?assign_target)
bind(?suggestion as ?item_multi_iri)
bind(?title as ?item_label_multi)
bind(coalesce(lcase(strafter(str(?k), 'RA5BAdUvlxLWMWFQN3UVKoIQEB_MYTiAoLH1klXJ7z-XI/')), '') as ?kind)
bind(if(?st in (schema:CompletedActionStatus, schema:FailedActionStatus), '2', '1') as ?openRank)
}
order by ?openRank desc(?date)
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/provenance
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/assertion
http://www.w3.org/ns/prov#wasAttributedTo
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/pubinfo
https://orcid.org/0000-0002-1267-0234
http://xmlns.com/foaf/0.1/name
Tobias Kuhn
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://purl.org/dc/terms/created
2026-08-27T08:01:04Z
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://purl.org/dc/terms/license
https://creativecommons.org/licenses/by/4.0/
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://purl.org/nanopub/x/embeds
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/get-nanosuggestions-for-assignee
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://purl.org/nanopub/x/supersedes
https://w3id.org/np/RADKNhRD09yV5i-L1SnYjSh-AsfhtvOVsDzLtrWKBHmUQ
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
http://www.w3.org/2000/01/rdf-schema#label
Get the nanosuggestions assigned to an agent
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate
https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/sig
http://purl.org/nanopub/x/hasAlgorithm
RSA
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/sig
http://purl.org/nanopub/x/hasPublicKey
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/sig
http://purl.org/nanopub/x/hasSignature
SO7xdvvDivbJS4LTBiR4js4XyNujjnq2ocpRG/3h1/xQX7M430Mvq6N5pwf8gXbgWeLYupSFxj3/wVLdfGGvdsuMlBVqegWQHEnJifAbFlRtHifZFMQ5hEuC1ucPKcMnJjAD1apm5CAydPB+lndpkb80MJ5plm2POWIjnLMfncE=
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/sig
http://purl.org/nanopub/x/hasSignatureTarget
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI
https://w3id.org/np/RADJJRWWHOhDog_5Lq_rpEoKWcBofbJJ5DImmyznAEfuI/sig
http://purl.org/nanopub/x/signedBy
https://orcid.org/0000-0002-1267-0234