https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/Head https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/assertion https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/provenance https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/pubinfo https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/assertion https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns http://purl.org/dc/terms/description Like 'Get the latest member-authored definitions of an ontology including namespace', but additionally restricted to approved definitions -- the same approval semantics as 'Get the approved classes of an ontology from space members', applied to all definition types. It returns the definitions of the elements of a given OWL ontology (classes, properties, named individuals, and describing paragraphs) that either match the ontology namespace or declare dct:isPartOf the ontology, restricted to definition nanopublications published by an admin, maintainer, or member of the space that maintains the resource (observers excluded). The maintaining space and its validated member public-key hashes are resolved server-side from the spaces repo (/repo/spaces). Each element appears once, kept from the latest member-authored definition (by nanopub timestamp, ties broken by nanopub URI); approval is judged on that winning definition only. A definition counts as approved when the newest non-invalidated approval/disapproval nanopublication targeting it is an npx:approvesOf signed by a current member+ of the maintaining space who is not the definition's own signer (self-approval never counts; latest verdict wins across all publishers), or by default when its signing key belongs to a validated holder of the auto-approved helper role (https://w3id.org/np/RASGFRI3F5TtJ4GA4Yaed3esIpTF3pDyJLbpuvsqHzIXc/autoApprovedHelperRole) in the maintaining space with no outstanding member disapproval. Definitions that are neither approved nor helper-signed (i.e. the ones pending approval or explicitly disapproved) are excluded, so the result matches the union of what the approved-classes query shows plus the equivalently-approved non-class definitions -- making this query suitable for assembling release content indexes. The approval verdicts are resolved once per request by a self-contained sub-select over the current repo (wrapped in a SERVICE self-reference to /repo/full so the planner evaluates it independently), federating to /repo/spaces for the approvers' member keys; the helper-role holders' key hashes come from the spaces repo via the validated role instantiations carrying gen:hasRole, wrapped in an extra sub-select so the federated call is evaluated once rather than per result row. The last_modified_by/last_modified columns give the signer and timestamp of that latest definition; the signer name is resolved from the trust repo (/repo/trust) or left blank. https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns http://purl.org/dc/terms/license http://www.apache.org/licenses/LICENSE-2.0 https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns http://www.w3.org/2000/01/rdf-schema#label Get the latest approved definitions of an ontology including namespace https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns https://w3id.org/kpxl/grlc/endpoint https://w3id.org/np/l/nanopub-query-1.1/repo/full https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns https://w3id.org/kpxl/grlc/sparql prefix owl: <http://www.w3.org/2002/07/owl#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 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 skos: <http://www.w3.org/2004/02/skos/core#> prefix schema: <https://schema.org/> prefix gen: <https://w3id.org/kpxl/gen/terms/> prefix foaf: <http://xmlns.com/foaf/0.1/> select ?item (sample(?item_label_) as ?item_label) (sample(?user) as ?last_modified_by) (sample(?lmbl) as ?last_modified_by_label) (sample(?date) as ?last_modified) (sample(?np_) as ?np) ("^" as ?np_label) where { { select ?item (max(?rank) as ?maxrank) where { { select ?np_ ?item ?a ?date ?pubkey ?itemType where { values ?itemType { owl:Class rdf:Property owl:ObjectProperty owl:DatatypeProperty owl:NamedIndividual gen:Paragraph } service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } values ?_ontology_multi_iri {} graph ?stateG { ?_ontology_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?rt . filter(?rt in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk . } } } graph npa:graph { ?np_ npx:hasNanopubType ?itemType . ?np_ npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np_ ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np_ dct:created ?date . ?np_ npx:introduces ?item . ?np_ np:hasAssertion ?a . } filter(contains(?memberPubkeys, ?pubkey)) } } values ?_ontology_multi_iri {} graph ?a { { ?item a ?itemType . filter(strstarts(str(?item), ?__ontologyNamespace)) } union { ?item a ?itemType . ?item dct:isPartOf|schema:isPartOf ?_ontology_multi_iri . } } bind(concat(str(?date), "|", str(?np_)) as ?rank) } group by ?item } { select ?np_ ?item ?date ?user ?pubkey ?item_label_ where { { select ?np_ ?item ?a ?date ?user ?pubkey ?itemType where { values ?itemType { owl:Class rdf:Property owl:ObjectProperty owl:DatatypeProperty owl:NamedIndividual gen:Paragraph } service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(?mpk; separator=" ") as ?memberPubkeys) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?stateG . } values ?_ontology_multi_iri {} graph ?stateG { ?_ontology_multi_iri npa:isMaintainedBy? ?space . ?ri a gen:RoleInstantiation ; npa:forSpace ?space ; npa:forAgent ?agent ; npa:hasRoleType ?rt . filter(?rt in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) ?acct a npa:AccountState ; npa:agent ?agent ; npa:pubkey ?mpk . } } } graph npa:graph { ?np_ npx:hasNanopubType ?itemType . ?np_ npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np_ ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np_ dct:created ?date . ?np_ npx:introduces ?item . ?np_ np:hasAssertion ?a . optional { ?np_ npx:signedBy ?user . } } filter(contains(?memberPubkeys, ?pubkey)) } } values ?_ontology_multi_iri {} graph ?a { { ?item a ?itemType . filter(strstarts(str(?item), ?__ontologyNamespace)) } union { ?item a ?itemType . ?item dct:isPartOf|schema:isPartOf ?_ontology_multi_iri . } optional { ?item rdfs:label|schema:title ?item_label_ . } } } } bind(concat(str(?date), "|", str(?np_)) as ?rank) filter(?rank = ?maxrank) { select (group_concat(distinct ?apV; separator=" ") as ?approvedNps) (group_concat(distinct ?disV; separator=" ") as ?disapprovedNps) where { { select ?vTarget (max(concat(str(?vDate), ">", str(?vNp), ">", ?vMark)) as ?vWin) where { values ?_ontology_multi_iri {} service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(?vpk; separator=" ") as ?vMemberPubkeys) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?vStateG . } values ?_ontology_multi_iri {} graph ?vStateG { ?_ontology_multi_iri npa:isMaintainedBy? ?vSpace . ?vRi a gen:RoleInstantiation ; npa:forSpace ?vSpace ; npa:forAgent ?vMember ; npa:hasRoleType ?vRt . filter(?vRt in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole)) ?vAcct a npa:AccountState ; npa:agent ?vMember ; npa:pubkey ?vpk . } } } service <https://w3id.org/np/l/nanopub-query-1.1/repo/full> { select distinct ?vTarget ?vNp ?vDate ?vPubkey ?vMark where { values ?vType { owl:Class rdf:Property owl:ObjectProperty owl:DatatypeProperty owl:NamedIndividual gen:Paragraph } graph npa:graph { ?vTarget npx:hasNanopubType ?vType ; npx:signedBy ?targetAgent . ?vNp npx:signedBy ?vAgent ; npa:hasValidSignatureForPublicKeyHash ?vPubkey ; dct:created ?vDate ; np:hasAssertion ?vA . filter not exists { ?vInv npx:invalidates ?vNp ; npa:hasValidSignatureForPublicKeyHash ?vPubkey . } } graph ?vA { ?vAgent ?vPred ?vTarget . } values ?vPred { npx:approvesOf npx:disapprovesOf } filter(?vAgent != ?targetAgent) bind(if(?vPred = npx:approvesOf, "a", "d") as ?vMark) } } filter(contains(?vMemberPubkeys, ?vPubkey)) } group by ?vTarget } bind(if(strends(?vWin, "a"), str(?vTarget), "") as ?apV) bind(if(strends(?vWin, "d"), str(?vTarget), "") as ?disV) } } { select (sample(?helperPubkeys_) as ?helperPubkeys) where { service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> { select (group_concat(?hpk; separator=" ") as ?helperPubkeys_) where { graph npa:graph { npa:thisRepo npa:hasCurrentSpaceState ?hStateG . } values ?_ontology_multi_iri {} graph ?hStateG { ?_ontology_multi_iri npa:isMaintainedBy? ?hSpace . ?hRi a gen:RoleInstantiation ; npa:forSpace ?hSpace ; npa:forAgent ?hAgent ; gen:hasRole <https://w3id.org/np/RASGFRI3F5TtJ4GA4Yaed3esIpTF3pDyJLbpuvsqHzIXc/autoApprovedHelperRole> . ?hAcct a npa:AccountState ; npa:agent ?hAgent ; npa:pubkey ?hpk . } } } } } bind(contains(concat(" ", ?approvedNps, " "), concat(" ", str(?np_), " ")) as ?explicitApproved) bind(contains(concat(" ", ?disapprovedNps, " "), concat(" ", str(?np_), " ")) as ?explicitDisapproved) bind(contains(?helperPubkeys, ?pubkey) as ?isAutoApproved) filter(?explicitApproved || (?isAutoApproved && !?explicitDisapproved)) optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/trust> { select ?user ?lmbl where { graph npa:graph { npa:thisRepo npa:hasCurrentTrustState ?tg . } graph ?tg { ?user foaf:name ?lmbl . } } } } } group by ?item order by ?item_label https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/provenance https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/assertion http://www.w3.org/ns/prov#wasAttributedTo https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/pubinfo https://orcid.org/0000-0002-1267-0234 http://xmlns.com/foaf/0.1/name Tobias Kuhn https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://purl.org/dc/terms/created 2026-08-19T07:26:36Z https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://purl.org/dc/terms/creator https://orcid.org/0000-0002-1267-0234 https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://purl.org/dc/terms/license https://creativecommons.org/publicdomain/zero/1.0/ https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://purl.org/nanopub/x/embeds https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/get-definitions-of-ontology-ns https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://purl.org/nanopub/x/supersedes https://w3id.org/np/RAVJmNizA8ZgU5J_6J5Odztw5ERBSeMmLbSOQQBDENN_k https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 http://www.w3.org/2000/01/rdf-schema#label Get the latest approved definitions of an ontology including namespace https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8 https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/sig http://purl.org/nanopub/x/hasPublicKey MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/sig http://purl.org/nanopub/x/hasSignature BG4a4BkKOKyLVsDt0NV4/twPZgOwI4h44dnX6hZVpHo+PC8NbaRK3L5xew164el7iTcvSMmDd5uFPbcm7ZTzM5GWpk0DOg4La3uPN/UuEiSYJnQOIAnhJRNMKTDtMKH+NHFui6PsuYq5ZSWYT9EMC8Y6tWsy5kf69A7F4Wylftg= https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8 https://w3id.org/np/RANbhOvFGPgkcWy0y3MkFNh4Wru5mQqIAdGmUz1mSIsu8/sig http://purl.org/nanopub/x/signedBy https://orcid.org/0000-0002-1267-0234