@prefix this: . @prefix sub: . @prefix np: . @prefix dct: . @prefix nt: . @prefix npx: . @prefix xsd: . @prefix rdfs: . @prefix orcid: . @prefix prov: . @prefix foaf: . sub:Head { this: a np:Nanopublication; np:hasAssertion sub:assertion; np:hasProvenance sub:provenance; np:hasPublicationInfo sub:pubinfo . } sub:assertion { sub:get-maintained-resource-info a ; dct:description "Returns basic key-value facts about a given maintained resource (its type, namespace, and the space that maintains it), taken from its latest non-invalidated declaration nanopub. Each property and value is rendered as a link to its defining IRI where applicable, and the type can carry multiple values. The namespace is shown as its full URL, trimmed in the middle with an ellipsis beyond 80 characters. Both columns use the '_noheader' convention so the redundant header row is dropped."; dct:license ; rdfs:label "Get maintained resource info"; ; """prefix rdf: prefix rdfs: prefix dct: prefix np: prefix npa: prefix npx: prefix gen: select distinct ?Property_noheader ?Property_label ?Value_noheader ?Value_label where { values ?_resource_multi_iri {} graph npa:graph { ?np npx:hasNanopubType gen:MaintainedResource . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:introduces ?_resource_multi_iri . ?np np:hasAssertion ?a . } graph ?a { ?_resource_multi_iri a gen:MaintainedResource . } optional { graph ?a { ?_resource_multi_iri a ?typeIri . filter(?typeIri != gen:MaintainedResource) } } optional { graph ?a { ?_resource_multi_iri gen:hasNamespace ?nsVal } } optional { graph ?a { ?_resource_multi_iri gen:isMaintainedBy ?spaceVal } } bind(strlen(str(?nsVal)) as ?nsLen) bind(if(?nsLen > 80, concat(substr(str(?nsVal), 1, 38), '...', substr(str(?nsVal), ?nsLen - 37)), str(?nsVal)) as ?nsDisp) bind(concat('', ?nsDisp, '') as ?nsAnchor) values (?key ?Property_noheader ?Property_label) { ('Type' rdf:type 'Type:') ('Namespace' gen:hasNamespace 'Namespace:') ('Maintained by' gen:isMaintainedBy 'Maintained by:') } bind(if(?key='Type', ?typeIri, if(?key='Namespace', ?nsAnchor, ?spaceVal)) as ?Value_noheader) filter(bound(?Value_noheader)) bind(if(?key='Type', replace(str(?typeIri), '^.*[/#]', ''), '') as ?Value_label) } order by (if(?key='Type', 1, if(?key='Namespace', 2, 3)))""" . } 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-06-15T08:03:20Z"^^xsd:dateTime; dct:creator orcid:0000-0002-1267-0234; dct:license ; npx:embeds sub:get-maintained-resource-info; npx:supersedes ; rdfs:label "Get maintained resource info"; nt:wasCreatedFromProvenanceTemplate ; nt:wasCreatedFromPubinfoTemplate , , ; nt:wasCreatedFromTemplate . sub:sig npx:hasAlgorithm "RSA"; npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB"; npx:hasSignature "nVuyDSRw1s5a0bSOTOFOZc3DA+uCLK1T+GEUY1PWf6xgs6d0Pts5izQq3BKrIjviw1bMZIhHYyW78xNKE6FxYmoZBwJ1DCqvuMHaC69KI4WiFWuufZ6JZFntxwjZZq8x/jAxUwuugsoKTWAIFDW8tFhqn7kMJct1XMQT8JPD39k="; npx:hasSignatureTarget this:; npx:signedBy orcid:0000-0002-1267-0234 . }