Returns basic key-value facts about a given maintained resource (its description, 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.
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 np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix gen: <https://w3id.org/kpxl/gen/terms/> 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 dct:description ?descVal } } 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) { ('Description' dct:description 'Description:') ('Type' rdf:type 'Type:') ('Namespace' gen:hasNamespace 'Namespace:') ('Maintained by' gen:isMaintainedBy 'Maintained by:') } bind(if(?key='Type', ?typeIri, if(?key='Namespace', ?nsAnchor, if(?key='Description', str(?descVal), ?spaceVal))) as ?Value_noheader) filter(bound(?Value_noheader)) bind(if(?key='Type', replace(str(?typeIri), '^.*[/#]', ''), '') as ?Value_label) } order by (if(?key='Description', 1, if(?key='Type', 2, if(?key='Namespace', 3, 4))))