sub:assertion {
sub:get-papers-for-author dct:description "This query returns the papers for a given author." ;
dct:license <
http://www.apache.org/licenses/LICENSE-2.0> ;
a <
https://w3id.org/kpxl/grlc/grlc-query> ;
rdfs:label "Get papers for author" ;
<
https://w3id.org/kpxl/grlc/endpoint> <
https://w3id.org/np/l/nanopub-query-1.1/repo/full> ;
<
https://w3id.org/kpxl/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 fabio: <http://purl.org/spar/fabio/>
prefix bibo: <http://purl.org/ontology/bibo/>
select ?paper ?paper_label ?journal ?journal_label ?publication_date where {
values ?_author_multi_iri {}
graph npa:graph {
?np npx:hasNanopubType fabio:ScholarlyWork .
?np npa:hasValidSignatureForPublicKeyHash ?pubkey .
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
?np dct:created ?date .
?np np:hasAssertion ?a .
?np npx:introduces ?paper .
}
graph ?a {
?paper dct:title ?paper_label .
?paper bibo:authorList ?author_list .
?paper dct:date ?publication_date .
?author_list ?rdfseqpred ?_author_multi_iri .
filter(strstarts(str(?rdfseqpred), \"http://www.w3.org/1999/02/22-rdf-syntax-ns#_\"))
optional {
?paper dct:isPartOf ?journal .
?journal dct:title ?journal_label .
}
}
}
order by desc(?publication_date)""" .
}