[ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg", "http://purl.org/dc/terms/created": [ { "@value": "2026-08-28T17:52:14Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/introduces": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/get-cv-entries-for-person" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get CV entries for person" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" }, { "@id": "https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw" }, { "@id": "https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "P9iKZhORQHFr0LfrJF5LaygxbvxIG+c1tBbHmvDfEHxSQz7pd88+2SUMQ53AsT+6Dx7c0YA/8q60VJDb7ng+1EeTS0PwJW7NBobBiRi6Bk53pkyYOiXb3kZ507L4UvzHQNUK9Xw2aFY9HQM/kli+clB1cS+WMlGij0grAaQxfTo=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/Head", "@graph": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAZ2e5Zx_f7DgQAs3qLgcFRgABQNEhp-OudcjCtsOPZBg/get-cv-entries-for-person", "http://purl.org/dc/terms/description": [ { "@value": "Returns the career history of a given person as a single timeline: positions held and academic degrees awarded, interleaved by year. The entryKind column says which of the two a row is. Positions carry a start year and, unless still held, an end year; degrees carry the year they were conferred as the start year. This query runs against the full repository rather than a type-specific one because it spans two types." } ], "http://purl.org/dc/terms/license": [ { "@id": "http://www.apache.org/licenses/LICENSE-2.0" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get CV entries for person" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/full" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdfs: \nprefix dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix wd: \nprefix vivo: \n\nselect ?entry ?entry_label ?entryKind ?organization ?organization_label ?unit ?startYear ?endYear ?np (\"^\" as ?np_label) where {\n graph npa:graph {\n ?np npa:hasValidSignatureForPublicKeyHash ?pubkey .\n filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }\n filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . }\n ?np np:hasAssertion ?a .\n ?np np:hasPublicationInfo ?pi .\n ?np npx:introduces ?entry .\n }\n {\n # A position: held from a start year, open-ended while still held.\n graph ?a {\n ?entry a vivo:Position .\n ?_person_iri wd:P39 ?entry .\n optional { ?entry wd:P108 ?organization . }\n optional { ?entry wd:P580 ?startYear . }\n optional { ?entry wd:P582 ?endYear . }\n }\n bind(\"position\" as ?entryKind)\n } union {\n # A degree: conferred in one year, which becomes the start year so that both\n # kinds sort on the same axis.\n graph ?a {\n ?entry a vivo:AwardedDegree .\n ?_person_iri wd:P512 ?entry .\n optional { ?entry wd:P69 ?organization . }\n optional { ?entry dct:issued ?startYear . }\n }\n bind(\"degree\" as ?entryKind)\n }\n optional { graph ?a { ?entry rdfs:label ?entry_label . } }\n optional { graph ?a { ?entry dct:description ?unit . } }\n # Organization labels live in pubinfo. OPTIONAL wraps GRAPH, never the reverse.\n optional { graph ?pi { ?organization rdfs:label ?organization_label . } }\n} order by desc(?startYear) desc(?endYear)" } ] } ] } ]