🔗 References (max. 100)

show query show view full screen
part subject predicate object published by date
Assertion
Assertion
Get templates by given user
Assertion
PublicationInfo
Get templates by given user - Returns the assertion templates created by the given user. Supports both template identity shapes (embedded and legacy).
Assertion
Returns the assertion templates created by the given user. Supports both template identity shapes: for templates with embedded identity (anchored via the npx:embeds triple), the label, tags, and publish link are based on the embedded template node (the IRI external references should carry); for legacy templates, the nanopub URI is used and the node is the assertion graph URI. Multiple tags are concatenated into one multi-value column, and dual labels collapse to one (untagged-language label preferred). Governed versions are deduplicated within the user's own output: of the user's non-invalidated versions declaring the same dct:isVersionOf plus gen:governedBy pair, only the newest is listed (no space-membership check, as the list reflects what the user created; the winners are materialized once in a single-row group_concat sub-select sharing no variables with the outer query).
Assertion
Assertion
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 nt: <https://w3id.org/np/o/ntemplate/> prefix gen: <https://w3id.org/kpxl/gen/terms/> select (concat("<span><a href=\"/publish?template=", encode_for_uri(str(?template_iri)), "\">", coalesce(min(?ulabel), min(?anylabel)), "</a></span>") as ?label) (group_concat(distinct replace(replace(str(?tag), "\\\\", "\\\\\\\\"), "[\r\n]+", "\\\\n"); separator="\n") as ?tags_multi) ?date ?np ("^" as ?np_label) where { { select (group_concat(?w1; separator="|") as ?winners) where { { select ?gKind ?gSpace (max(concat(str(?gDate), ">", str(?gNp))) as ?maxW) where { graph npa:graph { ?gNp npx:signedBy ?_user_iri ; npa:hasValidSignatureForPublicKey ?gPubkey ; dct:created ?gDate ; npx:embeds ?gVersion ; np:hasAssertion ?gA . filter not exists { ?gInv npx:invalidates ?gNp ; npa:hasValidSignatureForPublicKey ?gPubkey . } } graph ?gA { ?gVersion dct:isVersionOf ?gKind ; gen:governedBy ?gSpace . } } group by ?gKind ?gSpace } bind(concat(str(?gKind), ">", str(?gSpace), ">", ?maxW) as ?w1) } } graph npa:graph { ?np npx:signedBy ?_user_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:hasNanopubType nt:AssertionTemplate . ?np dct:created ?date . ?np np:hasAssertion ?a . } optional { graph npa:graph { ?np npx:embeds ?tnode . } graph ?a { ?tnode a nt:AssertionTemplate . } } bind(coalesce(?tnode, ?a) as ?t) bind(if(?t = ?a, ?np, ?t) as ?template_iri) graph ?a { ?t rdfs:label ?anylabel . } optional { graph ?a { ?t rdfs:label ?ulabel . filter(lang(?ulabel) = "") } } optional { graph ?a { ?t nt:hasTag ?tag . } } filter not exists { graph ?a { ?t a nt:UnlistedTemplate } } optional { graph ?a { ?t dct:isVersionOf ?kind ; gen:governedBy ?space . } } bind(concat("|", coalesce(?winners, ""), "|") as ?wlist) filter( !bound(?kind) || !contains(?wlist, concat("|", str(?kind), ">", str(?space), ">")) || contains(?wlist, concat("|", str(?kind), ">", str(?space), ">", str(?date), ">", str(?np), "|")) ) } group by ?template_iri ?date ?np order by desc(?date)
PublicationInfo
Assertion