. . . . "Given an individual SKOS concept, this query returns the concepts that declare it as their broader concept (skos:broader) within the same scheme, for a listing on the concept's part page. The scheme is taken from the given concept's own latest non-invalidated definition, and the maintaining space and its validated member public-key hashes are then resolved server-side from the spaces repo (/repo/spaces); only narrower concepts published by an admin, maintainer or member of that space are listed, and observers are excluded because that tier is self-attestable. A concept whose scheme is not a registered maintained resource therefore yields no rows. Each narrower concept appears at most once: of all non-invalidated member-published definitions placing it under this broader concept in this scheme, only the latest by nanopublication timestamp is kept (ties broken by nanopublication URI), so an in-place override replaces the earlier row rather than adding one, and a new version that drops the skos:broader link removes the row. Labels and definitions prefer an untagged literal but fall back to a language-tagged one, so a concept labelled only in a tagged language still shows a label and never duplicates its row across languages. The status column is a multi-value literal listing the curation states of the winning definition: \"deprecated\" (owl:DeprecatedClass, or owl:deprecated true), \"withdrawn\" (gen:WithdrawnTerm), \"draft\" (npx:DraftNanopub) and \"example\" (npx:ExampleNanopub), in that order. The override_target column is action data rather than content: it carries the row's nanopublication so that a view can offer a per-row in-place re-edit action." . . . "Get the narrower concepts of a SKOS concept from space members" . . "prefix owl: \nprefix rdfs: \nprefix dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix skos: \nprefix gen: \n\nselect ?concept (strafter(?labelWin, \"|\") as ?concept_label) (strafter(?descWin, \"|\") as ?description)\n ?status_multi ?last_modified (?np as ?override_target) ?np ?np_label where {\n select ?concept (min(?labelRank) as ?labelWin) (min(?descRank) as ?descWin)\n ?status_multi (sample(?date) as ?last_modified) ?np (\"^\" as ?np_label) where {\n graph npa:graph {\n ?pnp npx:hasNanopubType skos:Concept ;\n npa:hasValidSignatureForPublicKeyHash ?ppubkey ;\n npx:introduces ?_concept_iri ;\n np:hasAssertion ?pa .\n filter not exists { ?pinv npx:invalidates ?pnp ; npa:hasValidSignatureForPublicKeyHash ?ppubkey . }\n }\n graph ?pa { ?_concept_iri skos:inScheme ?scheme . }\n service {\n select ?scheme (group_concat(?mpk; separator=\" \") as ?memberPubkeys) where {\n graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . }\n graph ?stateG {\n ?scheme npa:isMaintainedBy? ?space .\n ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ;\n npa:hasRoleType ?rt .\n filter(?rt in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))\n ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk .\n }\n } group by ?scheme\n }\n graph npa:graph {\n ?np npx:hasNanopubType skos:Concept .\n ?np npa:hasValidSignatureForPublicKeyHash ?pubkey .\n filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n ?np dct:created ?date .\n ?np npx:introduces ?concept .\n ?np np:hasAssertion ?a .\n }\n filter(contains(?memberPubkeys, ?pubkey))\n graph ?a {\n ?concept skos:broader ?_concept_iri .\n ?concept skos:inScheme ?scheme .\n optional { ?concept skos:prefLabel ?label . }\n optional { ?concept skos:definition ?definition . }\n }\n bind(concat(if(lang(?label) = \"\", \"1\", \"2\"), \"|\", str(?label)) as ?labelRank)\n bind(concat(if(lang(?definition) = \"\", \"1\", \"2\"), \"|\", str(?definition)) as ?descRank)\n bind(replace(concat(\n if(exists { graph ?a { ?concept a owl:DeprecatedClass } }\n || exists { graph ?a { ?concept owl:deprecated true } }, \"deprecated\\n\", \"\"),\n if(exists { graph ?a { ?concept a gen:WithdrawnTerm } }, \"withdrawn\\n\", \"\"),\n if(exists { graph npa:graph { ?np npx:hasNanopubType npx:DraftNanopub } }, \"draft\\n\", \"\"),\n if(exists { graph npa:graph { ?np npx:hasNanopubType npx:ExampleNanopub } }, \"example\\n\", \"\")\n ), \"\\n$\", \"\") as ?status_multi)\n filter not exists {\n graph npa:graph {\n ?np2 npx:hasNanopubType skos:Concept .\n ?np2 npa:hasValidSignatureForPublicKeyHash ?pubkey2 .\n filter not exists { ?np2x npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pubkey2 . }\n ?np2 dct:created ?date2 .\n ?np2 npx:introduces ?concept .\n ?np2 np:hasAssertion ?a2 .\n }\n filter(contains(?memberPubkeys, ?pubkey2))\n graph ?a2 { ?concept skos:broader ?_concept_iri ; skos:inScheme ?scheme . }\n filter(?date2 > ?date || (?date2 = ?date && str(?np2) > str(?np)))\n }\n } group by ?concept ?status_multi ?np\n}\ngroup by ?concept ?labelWin ?descWin ?status_multi ?last_modified ?np ?np_label\norder by ?concept_label" . . "Tobias Kuhn" . "2026-09-04T07:52:08Z"^^ . . . . "Get the narrower concepts of a SKOS concept from space members" . . . . . . . "RSA" . "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" . "aEcLhk9RHvQtj/QERrJCYaca9VbAuVKLUvh+D9rWMvq4KnE/LvWghHn8BS0Eg0IPh1RtNyzdJhOzXzv/6GgBgWXjCIWbgnNWvihBNOkuDgGf2e4M86hc7DpXMk0lWT8G5eTdzhcQeghONqutasdBKp3qgPR9BX829c+LgVsKbu4=" . . .