Nanopublication

< Home

ID

https://w3id.org/np/RASFCFo7ectN1JiYuf2WnVCZ_FhHl7luaWIInjWyoAbhg

Formats

.trig | .trig.txt | .jelly | .jelly.txt | .jsonld | .jsonld.txt | .nq | .nq.txt | .xml | .xml.txt

Content

@prefix this: <https://w3id.org/np/RASFCFo7ectN1JiYuf2WnVCZ_FhHl7luaWIInjWyoAbhg> .
@prefix sub: <https://w3id.org/np/RASFCFo7ectN1JiYuf2WnVCZ_FhHl7luaWIInjWyoAbhg/> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix grlc: <https://w3id.org/kpxl/grlc/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .

sub:Head {
  this: a np:Nanopublication;
    np:hasAssertion sub:assertion;
    np:hasProvenance sub:provenance;
    np:hasPublicationInfo sub:pubinfo .
}

sub:assertion {
  sub:get-nanosuggestion-details a grlc:grlc-query;
    dct:description "Returns the details of a single nanosuggestion as field/value rows for a compact info card: title, kind, text, current status, assignee, the spaces it is relevant for, what it is about, and further links. Values that are IRIs are returned as IRIs so they render as links, with a companion label column supplying the link text. Empty fields are omitted and only the most recent status assertion is shown. Runs entirely on the schema:Statement type repository: labels are derived locally rather than looked up, so the query does not depend on the full repository.";
    dct:license <http://www.apache.org/licenses/LICENSE-2.0>;
    rdfs:label "Get the details of a nanosuggestion";
    grlc:endpoint <https://w3id.org/np/l/nanopub-query-1.1/repo/type/29e2f808e4864fca4930806dee70c4a32df54a63ee90156244910a47d3443736>;
    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 ?Property_noheader ?Value_noheader ?Value_label where {
  values (?property ?Property_noheader ?ord) {
    ( rdfs:label          'Title:'         '1' )
    ( rdf:type            'Kind:'          '2' )
    ( rdf:value           'Text:'          '3' )
    ( dct:description     'Text:'          '3' )
    ( schema:actionStatus 'Status:'        '4' )
    ( schema:agent        'Assigned to:'   '5' )
    ( gen:isRelevantFor   'Relevant for:'  '6' )
    ( schema:about        'About:'         '7' )
    ( rdfs:seeAlso        'More info:'     '8' )
  }
  graph npa:graph {
    ?np npa:hasValidSignatureForPublicKeyHash ?pubkey ; np:hasAssertion ?a ; dct:created ?d .
    filter not exists { ?npi npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
  }
  graph ?a { ?_suggestion_iri ?property ?Value_noheader . }
  # the base types are structural, not the \"kind\"
  filter(!(?property = rdf:type && (?Value_noheader = nsug:Nanosuggestion || ?Value_noheader = schema:Statement)))
  # of the status assertions keep only the newest. The date is computed in a sub-select,
  # which is an optimizer barrier: as a NOT EXISTS this had an unconstrained
  # \"?np2 npa:hasValidSignatureForPublicKeyHash ?pk2\" that the planner evaluated first,
  # and it started failing with \"Queue full\" once /repo/full grew past a threshold.
  optional {
    { select (max(?sd) as ?maxStatusDate) 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_iri schema:actionStatus ?anyStatus . }
        bind(str(?sdate) as ?sd)
    } }
  }
  filter(?property != schema:actionStatus || coalesce(str(?d) = ?maxStatusDate, true))
  # labels are derived locally, so this query needs only the type repository
  optional { ?Value_noheader foaf:name ?agentName }
  bind(if(?Value_noheader = schema:PotentialActionStatus, 'open',
       if(?Value_noheader = schema:ActiveActionStatus, 'in progress',
       if(?Value_noheader = schema:CompletedActionStatus, 'done',
       if(?Value_noheader = schema:FailedActionStatus, 'rejected',
       if(?property = rdf:type, lcase(replace(str(?Value_noheader), '^.*/', '')),
       if(?property = gen:isRelevantFor, replace(str(?Value_noheader), '^.*/', ''),
          coalesce(?agentName, ''))))))) as ?Value_label)
}
order by ?ord ?Value_label
""" .
}

sub:provenance {
  sub:assertion prov:wasAttributedTo orcid:0000-0002-1267-0234 .
}

sub:pubinfo {
  orcid:0000-0002-1267-0234 foaf:name "Tobias Kuhn" .
  
  this: dct:created "2026-08-27T06:32:41Z"^^xsd:dateTime;
    dct:creator orcid:0000-0002-1267-0234;
    dct:license <https://creativecommons.org/licenses/by/4.0/>;
    npx:embeds sub:get-nanosuggestion-details;
    npx:supersedes <https://w3id.org/np/RACYP2tjWHK5oWj9wwhk93l6vQty7NqszptlckCz8qVdM>;
    rdfs:label "Get the details of a nanosuggestion";
    nt:wasCreatedFromProvenanceTemplate <https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU>;
    nt:wasCreatedFromPubinfoTemplate <https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw>,
      <https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw>, <https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI>;
    nt:wasCreatedFromTemplate <https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k> .
  
  sub:sig npx:hasAlgorithm "RSA";
    npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB";
    npx:hasSignature "Zxi3r22FeTTGt8irCo2bVA7WWS702/MduG07WftcbsX7BeIv+f+ZCu7hmmnTIDVrvvfQtkeS+X0eb4UcQ17AxnbvVS0qqhnnxxaz5WlYnzpEoMdSdJnrks3GgM+rIHv2e1YxR0GW6w37sZ4bAwty5G7dKCCpRnjSvohNT07yFsk=";
    npx:hasSignatureTarget this:;
    npx:signedBy orcid:0000-0002-1267-0234 .
}