. . . . "Lists mvikg/r/kg phenotype records whose approval status is 'rejected' (latest admin npx:approvesOf/disapprovesOf verdict from a current mvikg admin decides the status; no verdict means pending). One row per record: its label, who created it and when, and the rejection reason if given." . . . "Get mvikg/r/kg rejected phenotypes" . . "prefix npa: \nprefix gen: \nprefix npx: \nprefix dct: \nprefix rdfs: \nprefix foaf: \n\nselect distinct ?Name ?ModifiedBy ?ModifiedBy_label ?Modified_noheader ?Reason ?np ?np_label where {\n {\n select distinct ?dnp ?label ?creator ?created where {\n {\n select ?stableThing ?dnp where {\n graph npa:graph {\n ?dnp npx:introduces ?stableThing ; dct:created ?ddateRaw ; npa:hasValidSignatureForPublicKey ?pubkey .\n filter not exists { ?inv npx:invalidates ?dnp ; npa:hasValidSignatureForPublicKey ?pubkey . }\n }\n filter not exists {\n graph npa:graph {\n ?dnp2 npx:introduces ?stableThing ; dct:created ?ddate2Raw ; npa:hasValidSignatureForPublicKey ?pubkey2 .\n filter not exists { ?inv2 npx:invalidates ?dnp2 ; npa:hasValidSignatureForPublicKey ?pubkey2 . }\n }\n filter(?ddate2Raw > ?ddateRaw)\n }\n }\n }\n bind(iri(concat(str(?dnp), '/assertion')) as ?da)\n graph ?da { ?stableThing a ; dct:isPartOf . }\n bind(iri(concat(str(?dnp), '/pubinfo')) as ?pi)\n graph ?pi { ?dnp dct:creator ?creator ; dct:created ?createdRaw . }\n bind(replace(str(?createdRaw), '[.]000Z$', 'Z') as ?created)\n optional { graph ?da { ?stableThing rdfs:label ?lblEntity } }\n optional { graph ?pi { ?dnp rdfs:label ?lblPub } }\n bind(coalesce(?lblEntity, ?lblPub, str(?stableThing)) as ?label)\n }\n }\n optional {\n graph ?vda { ?admin ?verdictPred ?dnp . filter(?verdictPred in (npx:approvesOf, npx:disapprovesOf)) }\n filter(exists {\n service {\n graph npa:graph { npa:hasCurrentSpaceState ?g . }\n graph ?g { ?ri a gen:RoleInstantiation ; npa:forSpace ; npa:forAgent ?admin ; npa:hasRoleType gen:AdminRole . }\n }\n })\n bind(iri(replace(str(?vda), '/assertion$', '')) as ?vnp)\n graph ?vpi { ?vnp dct:created ?vcreatedRaw . }\n bind(xsd:dateTime(?vcreatedRaw) as ?vcreated)\n filter not exists {\n graph ?vda2 { ?admin2 ?verdictPred2 ?dnp . filter(?verdictPred2 in (npx:approvesOf, npx:disapprovesOf)) }\n filter(exists {\n service {\n graph npa:graph { npa:hasCurrentSpaceState ?g2 . }\n graph ?g2 { ?ri2 a gen:RoleInstantiation ; npa:forSpace ; npa:forAgent ?admin2 ; npa:hasRoleType gen:AdminRole . }\n }\n })\n bind(iri(replace(str(?vda2), '/assertion$', '')) as ?vnp2)\n graph ?vpi2 { ?vnp2 dct:created ?vcreated2Raw . }\n filter(xsd:dateTime(?vcreated2Raw) > ?vcreated)\n }\n optional { graph ?vda { ?vda rdfs:comment ?reason } }\n }\n bind(if(bound(?verdictPred), if(?verdictPred = npx:approvesOf, 'approved', 'rejected'), 'pending') as ?finalStatus)\n filter(?finalStatus = 'rejected')\n bind(str(?dnp) as ?np) bind('^' as ?np_label)\n bind(?label as ?Name)\n optional { ?creator foaf:name ?cname }\n bind(?creator as ?ModifiedBy)\n bind(coalesce(?cname, replace(str(?creator), '^.*/', '')) as ?ModifiedBy_label)\n bind(?created as ?Modified_noheader)\n bind(?reason as ?Reason)\n }" . . "2026-11-09T18:10:32Z"^^ . . . . . . . "Get mvikg/r/kg rejected phenotypes" . "ModifiedBy now carries the creator's ORCID IRI (with ModifiedBy_label as the display-name companion), so it renders as a link back to the creator instead of plain text." . "Replaced the supersedes-chain exclusion filter with the project's standard resolution pattern (npa:graph + npx:introduces + npa:hasValidSignatureForPublicKey, excluding npx:invalidates), matching how the real builder picks a resource's current defining nanopub. This requires the content nanopub to re-introduce the SAME stable entity IRI on every version (now fixed for the two phenotype records that had drifted to a fresh IRI per publish). Label now checks both the entity's own label and the nanopub-level label, preferring whichever is present (samples only have the latter, phenotypes only the former)." . . . . . "RSA" . "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAjO3oH8Lq/l1oZIUY3FlCz5DnndybGvAhBdmEJ/yq7Nv3GZEYPrEro23rCBCp0GiriOXlVbk61pA/7JFE6tqzTresINW6QQMxE9sIhCBlX4cG66JFD8ud6bMvUyzCR8LQA6zfrSbafGE06rvglJd4MDUcTwvUKqtL9UCnOaowVfnZ3sPOe9EqlmJuO3iHGxBSXMPOPEJZUzMXsFDWFuMZTnrR8gY3r5nVF5a8L/MD135ZH8qW5yGXOB28CmVYCAbw2o07QEKzyzFKN+W1gfnprYZvuKzwGexnzcdzc1S8N/M5bzhWQ40EKCEqgUE8c81OzEMm1HUlUKEJ/o5I/FKKAwIDAQAB" . "HWdgvb9eUIE00fN7EVQo5pWdmBsrRVoTj0MgH8M0JevZnCFhootnDJA5+FysCiVZEeUCGM0o3hih/JfpaXTUXuKAEFUSAqaTfbZNwnbrSvyYFl2BLEViF9uRC8gfUDLUs8pGi3pzmNAbnQgOiV2pTnmqtg57HTJnyQ+hOBkrKsjSETqk3AP4XxRgUTJVLURmrd1yOkdKN0WYE4bsTmwD5OPNmIfeOltKhteaMYZqQgMexOlvS4jPKnztUrDgF5179KIfmCqdsy9sL1VLp2stG5tgV1izF4NRS5puZojTnr+h+YeTr3s+6NkOoufIV8kf4SwG0F8pG0uNuqKAsZH19Q==" . . .