https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/Head
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://www.nanopub.org/nschema#hasAssertion
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/assertion
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://www.nanopub.org/nschema#hasProvenance
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/provenance
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://www.nanopub.org/nschema#hasPublicationInfo
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/pubinfo
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.nanopub.org/nschema#Nanopublication
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/assertion
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/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 that winning assignment nanopublication, so an assign action can seed its form from it. 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/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/get-nanosuggestions-for-assignee
http://purl.org/dc/terms/license
http://www.apache.org/licenses/LICENSE-2.0
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/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/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/get-nanosuggestions-for-assignee
http://www.w3.org/2000/01/rdf-schema#label
Get the nanosuggestions assigned to an agent
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/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/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/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
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 }
# see the list query: lets "assign..." seed its form from the winning assignment nanopub
bind(coalesce(?assignNp, ?np) as ?fill_source)
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/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/provenance
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/assertion
http://www.w3.org/ns/prov#wasAttributedTo
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/pubinfo
https://orcid.org/0000-0002-1267-0234
http://xmlns.com/foaf/0.1/name
Tobias Kuhn
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://purl.org/dc/terms/created
2026-08-27T07:37:23Z
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://purl.org/dc/terms/license
https://creativecommons.org/licenses/by/4.0/
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://purl.org/nanopub/x/embeds
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/get-nanosuggestions-for-assignee
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://purl.org/nanopub/x/supersedes
https://w3id.org/np/RAuFJKlgbZ0GMUMIh9nFPyRdmX5cf48n6oW3kWgBvwhdc
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
http://www.w3.org/2000/01/rdf-schema#label
Get the nanosuggestions assigned to an agent
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate
https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/sig
http://purl.org/nanopub/x/hasAlgorithm
RSA
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/sig
http://purl.org/nanopub/x/hasPublicKey
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/sig
http://purl.org/nanopub/x/hasSignature
noJRdrJaO3AKZL4HtmqtPQYavDEJY0rt0BAnvIsARLKxxOtJ4RH/F7CfZHRASZwIJexEK82/qNNDAQoovIT8CZigw/ICMicE4KOGvkZQ7G5ArAcBJtbQhIM5tf7doIcWtztDo96/IBM0rvCvhEeQXqaoNcwOia4gMQM3Os8c5R4=
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/sig
http://purl.org/nanopub/x/hasSignatureTarget
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI
https://w3id.org/np/RA0Khk-E65uHKSNabAidWgZHHLlAlJMpGZjNkGs6u9IlI/sig
http://purl.org/nanopub/x/signedBy
https://orcid.org/0000-0002-1267-0234