rows { options { physical_type: PHYSICAL_STREAM_TYPE_QUADS max_name_table_size: 128 max_prefix_table_size: 16 max_datatype_table_size: 16 logical_type: LOGICAL_STREAM_TYPE_DATASETS version: 2 } } rows { prefix { value: "https://w3id.org/np/" } } rows { name { value: "RAsjZhi-UjWr5dkB2t7B3sJPCx_225ykI4Negvi-tM-z4" } } rows { namespace { name: "this" value { prefix_id: 1 } } } rows { prefix { value: "https://w3id.org/np/RAsjZhi-UjWr5dkB2t7B3sJPCx_225ykI4Negvi-tM-z4/" } } rows { name { } } rows { namespace { name: "sub" value { prefix_id: 2 } } } rows { prefix { value: "http://www.nanopub.org/nschema#" } } rows { namespace { name: "np" value { prefix_id: 3 name_id: 2 } } } rows { prefix { value: "http://purl.org/dc/terms/" } } rows { namespace { name: "dct" value { prefix_id: 4 name_id: 2 } } } rows { prefix { value: "https://w3id.org/np/o/ntemplate/" } } rows { namespace { name: "nt" value { prefix_id: 5 name_id: 2 } } } rows { prefix { value: "http://purl.org/nanopub/x/" } } rows { namespace { name: "npx" value { prefix_id: 6 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2001/XMLSchema#" } } rows { namespace { name: "xsd" value { prefix_id: 7 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2000/01/rdf-schema#" } } rows { namespace { name: "rdfs" value { prefix_id: 8 name_id: 2 } } } rows { prefix { value: "https://orcid.org/" } } rows { namespace { name: "orcid" value { prefix_id: 9 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/ns/prov#" } } rows { namespace { name: "prov" value { prefix_id: 10 name_id: 2 } } } rows { prefix { value: "http://xmlns.com/foaf/0.1/" } } rows { namespace { name: "foaf" value { prefix_id: 11 name_id: 2 } } } rows { name { value: "hasAssertion" } } rows { name { value: "assertion" } } rows { name { value: "Head" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 3 name_id: 3 } o_iri { prefix_id: 2 } g_iri { } } } rows { name { value: "hasProvenance" } } rows { name { value: "provenance" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { name { value: "hasPublicationInfo" } } rows { name { value: "pubinfo" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { prefix { value: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } } rows { name { value: "type" } } rows { name { value: "Nanopublication" } } rows { quad { p_iri { prefix_id: 12 } o_iri { prefix_id: 3 } } } rows { name { value: "get-narrower-concepts-from-space-members" } } rows { name { value: "description" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 4 } o_literal { lex: "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." } g_iri { prefix_id: 2 name_id: 4 } } } rows { name { value: "license" } } rows { prefix { value: "http://www.apache.org/licenses/" } } rows { name { value: "LICENSE-2.0" } } rows { quad { p_iri { prefix_id: 4 name_id: 14 } o_iri { prefix_id: 13 } } } rows { prefix { value: "https://w3id.org/kpxl/grlc/" } } rows { name { value: "grlc-query" } } rows { quad { p_iri { prefix_id: 12 name_id: 10 } o_iri { prefix_id: 14 name_id: 16 } } } rows { name { value: "label" } } rows { quad { p_iri { prefix_id: 8 } o_literal { lex: "Get the narrower concepts of a SKOS concept from space members" } } } rows { name { value: "endpoint" } } rows { prefix { value: "https://w3id.org/np/l/nanopub-query-1.1/repo/type/" } } rows { name { value: "af79dec054ac75f59327aa4e560e3ed0c243130f9852d4e7027aee5beefed2f3" } } rows { quad { p_iri { prefix_id: 14 } o_iri { prefix_id: 15 } } } rows { name { value: "sparql" } } rows { quad { p_iri { prefix_id: 14 } o_literal { lex: "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" } } } rows { name { value: "wasAttributedTo" } } rows { name { value: "0000-0002-1267-0234" } } rows { quad { s_iri { prefix_id: 2 name_id: 4 } p_iri { prefix_id: 10 name_id: 21 } o_iri { prefix_id: 9 } g_iri { prefix_id: 2 name_id: 7 } } } rows { name { value: "name" } } rows { quad { s_iri { prefix_id: 9 name_id: 22 } p_iri { prefix_id: 11 } o_literal { lex: "Tobias Kuhn" } g_iri { prefix_id: 2 name_id: 9 } } } rows { name { value: "created" } } rows { datatype { value: "http://www.w3.org/2001/XMLSchema#dateTime" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 4 name_id: 24 } o_literal { lex: "2026-09-04T07:52:08Z" datatype: 1 } } } rows { name { value: "creator" } } rows { quad { p_iri { } o_iri { prefix_id: 9 name_id: 22 } } } rows { prefix { value: "https://creativecommons.org/licenses/by/4.0/" } } rows { quad { p_iri { prefix_id: 4 name_id: 14 } o_iri { prefix_id: 16 name_id: 2 } } } rows { name { value: "embeds" } } rows { quad { p_iri { prefix_id: 6 name_id: 26 } o_iri { prefix_id: 2 name_id: 12 } } } rows { quad { p_iri { prefix_id: 8 name_id: 17 } o_literal { lex: "Get the narrower concepts of a SKOS concept from space members" } } } rows { name { value: "wasDerivedFrom" } } rows { name { value: "RAY9jYNDJUqYI5EBWcVo4A1r_B0xAvY51Kj6C6DooB4KE" } } rows { quad { p_iri { prefix_id: 10 name_id: 27 } o_iri { prefix_id: 1 } } } rows { name { value: "wasCreatedFromProvenanceTemplate" } } rows { name { value: "RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } } rows { quad { p_iri { prefix_id: 5 } o_iri { prefix_id: 1 } } } rows { name { value: "wasCreatedFromPubinfoTemplate" } } rows { name { value: "RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" } } rows { quad { p_iri { prefix_id: 5 } o_iri { prefix_id: 1 } } } rows { name { value: "RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ" } } rows { quad { o_iri { } } } rows { name { value: "RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } } rows { quad { o_iri { } } } rows { name { value: "wasCreatedFromTemplate" } } rows { name { value: "RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } } rows { quad { p_iri { prefix_id: 5 } o_iri { prefix_id: 1 } } } rows { name { value: "sig" } } rows { name { value: "hasAlgorithm" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 6 } o_literal { lex: "RSA" } } } rows { name { value: "hasPublicKey" } } rows { quad { p_iri { } o_literal { lex: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } } } rows { name { value: "hasSignature" } } rows { quad { p_iri { } o_literal { lex: "aEcLhk9RHvQtj/QERrJCYaca9VbAuVKLUvh+D9rWMvq4KnE/LvWghHn8BS0Eg0IPh1RtNyzdJhOzXzv/6GgBgWXjCIWbgnNWvihBNOkuDgGf2e4M86hc7DpXMk0lWT8G5eTdzhcQeghONqutasdBKp3qgPR9BX829c+LgVsKbu4=" } } } rows { name { value: "hasSignatureTarget" } } rows { quad { p_iri { } o_iri { prefix_id: 1 name_id: 1 } } } rows { name { value: "signedBy" } } rows { quad { p_iri { prefix_id: 6 name_id: 42 } o_iri { prefix_id: 9 name_id: 22 } } }