@prefix this: <
https://w3id.org/np/RA1Tz7srP6NDcaA0-cAl4nY1rASWmcFrhgxlVtwq_DLXY
> .
@prefix sub: <
https://w3id.org/np/RA1Tz7srP6NDcaA0-cAl4nY1rASWmcFrhgxlVtwq_DLXY#
> .
@prefix np: <
http://www.nanopub.org/nschema#
> .
@prefix dct: <
http://purl.org/dc/terms/
> .
@prefix nt: <
https://w3id.org/np/o/ntemplate/
> .
@prefix npx: <
http://purl.org/nanopub/x/
> .
@prefix xsd: <
http://www.w3.org/2001/XMLSchema#
> .
@prefix rdfs: <
http://www.w3.org/2000/01/rdf-schema#
> .
@prefix orcid: <
https://orcid.org/
> .
@prefix ns1: <
http://purl.org/np/
> .
@prefix prov: <
http://www.w3.org/ns/prov#
> .
@prefix foaf: <
http://xmlns.com/foaf/0.1/
> .
sub:Head
{
this:
np:hasAssertion
sub:assertion
;
np:hasProvenance
sub:provenance
;
np:hasPublicationInfo
sub:pubinfo
;
a
np:Nanopublication
.
}
sub:assertion
{
sub:get-monthly-active-user-count
dct:description
"Returns the number of active users per month." ;
dct:license
<
http://www.apache.org/licenses/LICENSE-2.0
> ;
a
<
https://w3id.org/kpxl/grlc/grlc-query
> ;
rdfs:label
"Get monthly active user count" ;
<
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 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/>
prefix prov: <http://www.w3.org/ns/prov#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
select ?month (count(distinct ?userid) as ?usercount) where {
{ graph npa:graph {
?np npa:hasValidSignatureForPublicKey ?pubkey .
?np dct:creator ?userid .
?np dct:created ?date .
} }
union
{
graph npa:graph {
?np npa:hasValidSignatureForPublicKey ?pubkey .
?np np:hasAssertion ?assertion .
?np np:hasProvenance ?prov .
?np dct:created ?date .
}
graph ?prov {
?assertion prov:wasAttributedTo ?userid .
}
}
filter not exists {
graph npa:graph { ?np npa:hasSubIri ?userid . }
}
bind(substr(str(?date), 0, 8) as ?month)
}
group by ?month
order by desc(?month)""" .
}
sub:provenance
{
sub:assertion
prov:wasAttributedTo
orcid:0000-0002-1267-0234
.
}
sub:pubinfo
{
orcid:0000-0002-1267-0234
foaf:name
"Tobias Kuhn" .
sub:sig
npx:hasAlgorithm
"RSA" ;
npx:hasPublicKey
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB" ;
npx:hasSignature
"83gHnNSwctXb4rxdprzMCOAajXTPgCq7nNa2B7abyDGfwqZMl3mDIi1YaBlrWOqGF4kDbZgXCezGQYYjg7UJTjn18p5A11UikBnLequMYpTB3+OyuIeqJGD7SHR5NZxXqHiB9M90ZSE0V6ImxclwBn4mtpe9GljyrB2FTHTpjik=" ;
npx:hasSignatureTarget
this:
;
npx:signedBy
orcid:0000-0002-1267-0234
.
this:
dct:created
"2024-12-08T11:15:18.688Z"^^
xsd:dateTime
;
dct:creator
orcid:0000-0002-1267-0234
;
dct:license
<
https://creativecommons.org/licenses/by/4.0/
> ;
npx:introduces
sub:get-monthly-active-user-count
;
npx:wasCreatedAt
<
https://nanodash.knowledgepixels.com/
> ;
nt:wasCreatedFromProvenanceTemplate
ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM
;
nt:wasCreatedFromPubinfoTemplate
<
https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw
> , <
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
> ;
nt:wasCreatedFromTemplate
<
https://w3id.org/np/RAYvkQOT9-zrcql5lzMW9OpiPjA9UvSh-RezaVwYmWvns
> .
}