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