@prefix dcterms: <
http://purl.org/dc/terms/
> .
@prefix this: <
https://w3id.org/np/RA60pDSziSc7Xptdou6TeT4ZvbSunEi34zvNtaWIugT2Q
> .
@prefix sub: <
https://w3id.org/np/RA60pDSziSc7Xptdou6TeT4ZvbSunEi34zvNtaWIugT2Q/
> .
@prefix np: <
http://www.nanopub.org/nschema#
> .
@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-weekly-active-user-count
dcterms:description
"Returns the number of active users per (approximate) week." ;
dcterms:license
<
http://www.apache.org/licenses/LICENSE-2.0
> ;
a
<
https://w3id.org/kpxl/grlc/grlc-query
> ;
rdfs:label
"Get weekly 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 ?approxweek (min(?date) as ?firstday) (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(floor((year(?date)*365 + month(?date)*365/12 + day(?date)) / 7) as ?approxweek)
}
group by ?approxweek
order by desc(?approxweek)""" .
}
sub:provenance
{
sub:assertion
prov:wasAttributedTo
orcid:0000-0002-1267-0234
.
}
sub:pubinfo
{
orcid:0000-0002-1267-0234
foaf:name
"Tobias Kuhn" .
this:
dcterms:created
"2025-11-06T20:17:53.952Z"^^
xsd:dateTime
;
dcterms:creator
orcid:0000-0002-1267-0234
;
dcterms:license
<
https://creativecommons.org/licenses/by/4.0/
> ;
npx:embeds
sub:get-weekly-active-user-count
;
npx:wasCreatedAt
<
https://nanodash.knowledgepixels.com/
> ;
prov:wasDerivedFrom
<
https://w3id.org/np/RA1Tz7srP6NDcaA0-cAl4nY1rASWmcFrhgxlVtwq_DLXY
> ;
nt:wasCreatedFromProvenanceTemplate
ns1:RANwQa4ICWS5SOjw7gp99nBpXBasapwtZF1fIM3H2gYTM
;
nt:wasCreatedFromPubinfoTemplate
<
https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw
> , <
https://w3id.org/np/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ
> , <
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
> ;
nt:wasCreatedFromTemplate
<
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
> .
sub:sig
npx:hasAlgorithm
"RSA" ;
npx:hasPublicKey
"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB" ;
npx:hasSignature
"TBYb2H5eyGkHguUG3q5S3ld7gq12zIhy1WCHO/MYdPpbyWg+SyE4hQVyc7hvY8433mPUA+4ViRDHXLrPN65cXynoQZR6rpFa8lesZKY28pNmuwjjxV7XxjRhocsjcvnL9T2TVTTNBKZcFkPD+Zhh2k8+g8DxpaquwQ4yWna57JA=" ;
npx:hasSignatureTarget
this:
;
npx:signedBy
orcid:0000-0002-1267-0234
.
}