RAXlaWPRAd
Full identifier: https://w3id.org/np/RAXlaWPRAdl9ef28Rre_Nnq9m8BIt5g_dVm37p7_dtIYI
Nanopublication
Get the latest nanopublications from pubkeys/userid
grlc-query
This is a local identifier minted within the nanopublication.
https://w3id.org/np/RAXlaWPRAd...t-nanopubs-from-pubkeys-userid
get-latest-nanopubs-from-pubkeys-userid
https://w3id.org/kpxl/grlc/sparql
has the query
(this is a literal)
"prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix np: <http://www.nanopub.org/nschema#>
prefix npa: <http://purl.org/nanopub/admin/>
prefix npx: <http://purl.org/nanopub/x/>
prefix xsd: <http://www.w3.org/2001/XMLSchema#>
prefix dct: <http://purl.org/dc/terms/>
select ?np ?label ?pubkey ?date where {
#==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------
{ select ?pkh { # <- VAR pkh
bind(if(?__pubkeyhashes = "", ?unbound, ?__pubkeyhashes) as ?vs) # <- VAR __pubkeyhashes
{select*{optional{?a ?b ?c}}limit 1} # (for some Virtuoso ver.) #
values ?x {0 1 2 3 4 5 6 7 8 9} values ?y {0 1 2 3 4 5 6 7 8 9} #
bind((10*?x)+?y as ?n) # (works up to a maximum of 100 values) #
bind(" " as ?sep) # (separator as single regex-compatible char) # <- CONST sep
bind(concat("^([^",?sep,"]*",?sep,"){",str(?n),"}") as ?p) #
bind(concat(?sep,".*") as ?p0) #
filter(if(?n=0,true,regex(?vs,?p))) # (?n=0 check for Viruoso) #
bind(replace(if(?n=0,?vs,replace(?vs,?p,"")),?p0,"") as ?pkh) # <- VAR pkh
} } #
#==================================================================#---------------------
bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/pubkey/", ?pkh)) as ?pubkeyservice)
bind(if(bound(?pkh), ?pubkeyservice, <https://w3id.org/np/l/nanopub-query-1.1/repo/meta>) as ?service)
service ?service {
graph npa:graph {
?np npa:hasValidSignatureForPublicKey ?pubkey .
?np dct:created ?date .
?np dct:creator ?__userid_iri .
optional { ?np rdfs:label ?label }
filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }
filter not exists { ?np npx:hasNanopubType npx:retracts . }
}
}
}
order by desc(?date)
limit 100"
.
Tobias Kuhn,
13 Sep 2024, 12:42:51 UTC
References