https://w3id.org/np/RA8PRGLZ8PVRYgtJvqbCaTTvU0-L4HVdfZlRkl2YPrbOc
.trig | .trig.txt | .jelly | .jelly.txt | .jsonld | .jsonld.txt | .nq | .nq.txt | .xml | .xml.txt
@prefix this: <https://w3id.org/np/RA8PRGLZ8PVRYgtJvqbCaTTvU0-L4HVdfZlRkl2YPrbOc> .
@prefix sub: <https://w3id.org/np/RA8PRGLZ8PVRYgtJvqbCaTTvU0-L4HVdfZlRkl2YPrbOc/> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix grlc: <https://w3id.org/kpxl/grlc/> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix orcid: <https://orcid.org/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
sub:Head {
this: a np:Nanopublication;
np:hasAssertion sub:assertion;
np:hasProvenance sub:provenance;
np:hasPublicationInfo sub:pubinfo .
}
sub:assertion {
sub:get-term-version-history a grlc:grlc-query;
dct:description "Returns the version history of a term (a class or other resource defined in the namespace of a maintained resource, e.g. a biochementity of an OWL vocabulary), for display on the term's resource-part page. Each row is a nanopublication that introduces, describes, or embeds the given term, showing its creation date, the label the term carried in that version, the change note attached to that version's publication info (skos:changeNote, truncated to its first line and at most 50 characters), and its author (signer, with the name resolved from the maintaining space's trust state where available). The row marked '✓ current' is the definition that currently counts: the newest non-invalidated version signed by a current member+ (admin/maintainer/member) of the space maintaining the resource the term declares itself part of, mirroring the get-term-definitions resolution used for resource-part pages. That winner is materialized once in a self-contained sub-select sharing no variables with the outer query, then compared by string equality. The override_target column carries the nanopub URI only for the current row (empty otherwise), so a per-row override action is offered only on the current version. Rows are ordered newest first.";
dct:license <http://www.apache.org/licenses/LICENSE-2.0>;
rdfs:label "Get term version history";
grlc:endpoint <https://w3id.org/np/l/nanopub-query-1.1/repo/full>;
grlc:sparql """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/>
prefix foaf: <http://xmlns.com/foaf/0.1/>
prefix skos: <http://www.w3.org/2004/02/skos/core#>
select ?Date ?Label ?Change_note ?Author ?Author_label ?Status_noheader ?override_target ?np ?np_label where {
{
select (max(concat(str(?cDate), \">\", str(?cNp))) as ?maxCurrent) where {
graph npa:graph {
?cNp npa:hasValidSignatureForPublicKeyHash ?cPubkeyhash ;
dct:created ?cDate ;
np:hasAssertion ?cA .
?cNp npx:introduces|npx:describes|npx:embeds ?_term_iri .
filter not exists { ?cInv npx:invalidates ?cNp ; npa:hasValidSignatureForPublicKeyHash ?cPubkeyhash . }
}
graph ?cA { ?_term_iri dct:isPartOf ?cResource . }
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?cStateG . }
graph ?cStateG {
?cResource npa:isMaintainedBy ?cSpace .
?cRi a gen:RoleInstantiation ; npa:forSpace ?cSpace ; npa:hasRoleType ?cTier ; npa:forAgent ?cAgent .
values ?cTier { gen:AdminRole gen:MaintainerRole gen:MemberRole }
?cAcct a npa:AccountState ; npa:agent ?cAgent ; npa:pubkey ?cPubkeyhash .
}
}
}
}
graph npa:graph {
?np npx:introduces|npx:describes|npx:embeds ?_term_iri ;
dct:created ?Date ;
np:hasAssertion ?a ;
np:hasPublicationInfo ?pi .
optional { ?np npx:signedBy ?Author . }
}
optional { graph ?a { ?_term_iri rdfs:label ?Label } }
optional { graph ?pi { ?np skos:changeNote ?noteRaw } }
bind(replace(coalesce(?noteRaw, \"\"), \"\\r\", \"\") as ?noteNoCr)
bind(if(contains(?noteNoCr, \"\\n\"), strbefore(?noteNoCr, \"\\n\"), ?noteNoCr) as ?firstLine)
bind(substr(?firstLine, 1, 50) as ?Change_note)
bind(if(concat(str(?Date), \">\", str(?np)) = coalesce(?maxCurrent, \"\"), \"✓ current\", \"\") as ?Status_noheader)
bind(if(?Status_noheader != \"\", str(?np), \"\") as ?override_target)
bind(coalesce(?Author, <http://purl.org/nanopub/temp/none>) as ?AuthorSafe)
optional {
service <https://w3id.org/np/l/nanopub-query-1.1/repo/spaces> {
graph npa:graph { <http://purl.org/nanopub/admin/thisRepo> npa:hasCurrentSpaceState ?nStateG . }
graph ?nStateG { ?AuthorSafe foaf:name ?Author_label . }
}
}
bind(\"^\" as ?np_label)
}
order by desc(?Date)""" .
}
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-08-11T06:09:02Z"^^xsd:dateTime;
dct:creator orcid:0000-0002-1267-0234;
dct:license <https://creativecommons.org/licenses/by/4.0/>;
npx:embeds sub:get-term-version-history;
rdfs:label "Get term version history";
nt:wasCreatedFromProvenanceTemplate <https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU>;
nt:wasCreatedFromPubinfoTemplate <https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8>,
<https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI>;
nt:wasCreatedFromTemplate <https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k> .
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB";
npx:hasSignature "gvUK8YAkPdsc/Uc/vxRApYJSZPjy/5/y+ZJ3f+5r2gy5i43IFBzmgPnepMr9v5uxiBPd9v9/CiqKuYFqN7zQGlXClw2ZQ2tlf1o37/47xca25J/SqAek42bGdbxk8BUM3uWvSuWoHVglr+kU9Mz9Ad49pQ5i4Gp2xoa30t3IITM=";
npx:hasSignatureTarget this:;
npx:signedBy orcid:0000-0002-1267-0234 .
}