sub:assertion {
sub:get-presentation-details dct:description "Returns the properties of an introduced presentation or poster, with human-readable labels for recognized predicates. Known properties are shown first." ;
dct:license <
http://www.apache.org/licenses/LICENSE-2.0> ;
a <
https://w3id.org/kpxl/grlc/grlc-query> ;
rdfs:label "Get presentation details" ;
<
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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
prefix wd: <http://www.wikidata.org/entity/>
prefix schema: <https://schema.org/>
select ?property ?property_label ?value ?value_label where {
bind(?_resourceNp_iri as ?np)
graph npa:graph {
?np npa:hasValidSignatureForPublicKeyHash ?pubkey .
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . }
?np np:hasAssertion ?a .
?np npx:introduces ?_resource_iri .
}
graph ?a {
?_resource_iri ?pred ?value .
optional { ?value rdfs:label ?value_label_raw . }
}
bind(?pred as ?property)
bind(
if(?pred = rdf:type && ?value = wd:Q604733, \"Presentation\",
if(?pred = rdf:type && ?value = <https://w3id.org/kpxl/gen/terms/PosterPresentation>, \"Poster presentation\",
?value_label_raw)) as ?value_label)
bind(
if(?pred = rdf:type, \"Type\",
if(?pred = rdfs:label, \"Title\",
if(?pred = dct:date, \"Date\",
if(?pred = wd:P823, \"Speaker\",
if(?pred = dct:creator, \"Author\",
if(?pred = dct:isPartOf, \"Part of\",
if(?pred = dct:description, \"Description\",
if(?pred = rdfs:seeAlso, \"Link\",
if(?pred = schema:about, \"Topic\",
str(?pred)))))))))) as ?property_label)
bind(
if(?pred = rdf:type, 0,
if(?pred = rdfs:label, 1,
if(?pred = dct:date, 2,
if(?pred = wd:P823, 3,
if(?pred = dct:creator, 4,
if(?pred = dct:isPartOf, 5,
if(?pred = dct:description, 6,
if(?pred = rdfs:seeAlso, 7,
if(?pred = schema:about, 8,
99))))))))) as ?sort)
} order by ?sort""" .
}