Matches in Nanopublications for { ?s <https://w3id.org/kpxl/grlc/sparql> ?o ?g. }
- get-latest-bdj-nanopubs sparql "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 oa: <http://www.w3.org/ns/oa#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix pav: <http://purl.org/pav/> prefix bibo: <http://purl.org/ontology/bibo/> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select distinct ?np ?label (coalesce(?firstAuthor, min(?author), min(?creator)) as ?mainAuthor) (if(if(count(distinct ?author)>0, count(distinct ?author), count(distinct ?creator)) > 1, " et al.", "") as ?authorEtAl) ?timestamp (substr(str(?timestamp), 0, 11) as ?date) where { graph npa:graph { ?np dct:created ?timestamp . ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np rdfs:label ?label . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph ?i { ?np pav:authoredBy ?author . } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?author . filter(strstarts(str(?hasElement), str(rdf:_))) } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } } group by ?np ?label ?timestamp order by desc(?timestamp) limit 10" assertion.
- get-latest-ds-nanopubs sparql "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 oa: <http://www.w3.org/ns/oa#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix pav: <http://purl.org/pav/> prefix bibo: <http://purl.org/ontology/bibo/> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select distinct ?np ?label (coalesce(?firstAuthor, min(?author), min(?creator)) as ?mainAuthor) (if(if(count(distinct ?author)>0, count(distinct ?author), count(distinct ?creator)) > 1, " et al.", "") as ?authorEtAl) ?timestamp (substr(str(?timestamp), 0, 11) as ?date) where { graph npa:graph { ?np dct:created ?timestamp . ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np rdfs:label ?label . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph ?i { ?np pav:authoredBy ?author . } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?author . filter(strstarts(str(?hasElement), str(rdf:_))) } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } } group by ?np ?label ?timestamp order by desc(?timestamp) limit 10" assertion.
- get-np-count-per-journal sparql "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 oa: <http://www.w3.org/ns/oa#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix pav: <http://purl.org/pav/> prefix bibo: <http://purl.org/ontology/bibo/> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select distinct ?journal (count(?np) as ?npcount) where { { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/4bd6efc556b296ff29805b28082513e9a66c850f7ae38d176568f447863ba1da> { bind("Biodiversity Data Journal" as ?journal) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } } } union { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/26df80496b38ffcad72b10e137bc78dbc6087e9eb171c09b10f2c9bf4240abc6> { bind("Data Science" as ?journal) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } } } union { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/9d535811c66bd27b8c44331f56c51b3290b40e8e26c1b1638b4de5d4b13ec159> { bind("RIO Journal" as ?journal) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } } } } group by ?journal order by desc(?npcount)" assertion.
- get-top-authors sparql "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 oa: <http://www.w3.org/ns/oa#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix pav: <http://purl.org/pav/> prefix bibo: <http://purl.org/ontology/bibo/> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?author (count(distinct ?np) as ?npcount) where { { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/4bd6efc556b296ff29805b28082513e9a66c850f7ae38d176568f447863ba1da> { bind("Biodiversity Data Journal" as ?journal) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph ?i { ?np pav:authoredBy ?author . } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?author . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } union { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/26df80496b38ffcad72b10e137bc78dbc6087e9eb171c09b10f2c9bf4240abc6> { bind("Data Science" as ?journal) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph ?i { ?np pav:authoredBy ?author . } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?author . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } union { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/9d535811c66bd27b8c44331f56c51b3290b40e8e26c1b1638b4de5d4b13ec159> { bind("RIO Journal" as ?journal) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { graph ?i { ?np pav:authoredBy ?author . } } optional { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?author . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } filter(bound(?author)) } group by ?author order by desc(?npcount) limit 10" assertion.
- get-most-used-bdj-taxons sparql "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 oa: <http://www.w3.org/ns/oa#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix pav: <http://purl.org/pav/> prefix bibo: <http://purl.org/ontology/bibo/> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?taxonName (max(?taxonNameLabel) as ?taxonNameLabel) (count(?taxonName) as ?taxonNameCount) where { graph npa:graph { ?np dct:created ?timestamp . ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np rdfs:label ?label . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?a { ?association <https://w3id.org/kpxl/biodiv/terms/hasTaxonName> ?taxonName . } optional { graph ?i { ?taxonName <https://w3id.org/np/o/ntemplate/hasLabelFromApi> ?taxonNameLabel . } } } group by ?taxonName order by desc(?taxonNameCount) limit 10" assertion.
- get-top-creators sparql "#+ endpoint: https://query.knowledgepixels.com/repo/last30d 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 distinct ?userid (count(distinct ?np) as ?count) where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?userid . } } union { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasAssertion ?assertion . ?np np:hasProvenance ?prov . } graph ?prov { ?assertion prov:wasAttributedTo ?userid . } } filter(strstarts(str(?userid), "https://orcid.org/")) } group by ?userid order by desc(?count) limit 10" assertion.
- get-top-creators-last30d sparql "#+ endpoint: https://query.knowledgepixels.com/repo/last30d 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 distinct ?userid (count(distinct ?np) as ?count) where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?userid . } } union { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasAssertion ?assertion . ?np np:hasProvenance ?prov . } graph ?prov { ?assertion prov:wasAttributedTo ?userid . } } filter(strstarts(str(?userid), "https://orcid.org/")) } group by ?userid order by desc(?count) limit 10" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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 ?service) service ?service { graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { bind(replace(str(?__endpoint_iri), "/repo/.*$", "/repo/") as ?servicebase) #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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(?servicebase, "pubkey/", ?pkh)) as ?service) service ?service { graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { optional { <x:> <x:> ?__endpoint_iri } . bind(replace(str(?__endpoint_iri), "/repo/.*$", "/repo/") as ?servicebase) #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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(?servicebase, "pubkey/", ?pkh)) as ?service) service ?service { graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { bind(replace(str( ?__endpoint_iri ), "/repo/.*$", "/repo/") as ?servicebase) #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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(?servicebase, "pubkey/", ?pkh)) as ?service) service ?service { graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { optional { <x:> <x:> ?_endpoint_iri } . # for grlc to pick up the placeholder bind(replace(str(?_endpoint_iri), "/repo/.*$", "/repo/") as ?servicebase) #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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(?servicebase, "pubkey/", ?pkh)) as ?service) service ?service { graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-user-stats sparql "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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) where { optional { <x:> <x:> ?_pubkeyhashes } # ensure grlc is picking up the placeholder #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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 ?service) service ?service { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key" assertion.
- get-top-creators-last30d 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 distinct ?userid (count(distinct ?np) as ?count) where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?userid . } } union { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasAssertion ?assertion . ?np np:hasProvenance ?prov . } graph ?prov { ?assertion prov:wasAttributedTo ?userid . } } filter(?userid != <https://orcid.org/1234-1234-1234-1234>) filter(?userid != <https://orcid.org/0000-0000-0000-0000>) } group by ?userid order by desc(?count) limit 10" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?__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 ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?__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 ?pubkeyx . filter(contains(?__pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?__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 ?pubkeyx . filter(contains(?__pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys-userid 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?__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 ?pubkeyx . filter(contains(?__pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys-userid 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/> 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 ?pubkeyx . filter(contains(?__pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys-userid 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/> 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" assertion.
- get-user-stats sparql "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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) where { optional { <x:> <x:> ?_pubkeyhashes } # ensure grlc is picking up the placeholder #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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 ?service) service ?service { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) 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 { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?_userid_iri . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key" assertion.
- get-user-stats sparql "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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) 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 { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?_userid_iri . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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 filter(exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/pubkey/", ?pkh)) as ?service) service ?service { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . optional { ?np rdfs:label ?label } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys 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/> select ?np ?label ?pubkey ?date where { #==================== MULTI-VALUE PLACEHOLDER =====================#------ config: ------ { select ?pkh { # <- VAR pkh bind(?_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 filter(exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/pubkey/", ?pkh)) as ?service) service ?service { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . optional { ?np rdfs:label ?label } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkeyx . filter(contains(?_pubkeyhashes, sha256(str(?pubkeyx)))) } filter not exists { ?np npx:hasNanopubType npx:retracts . } } } } order by desc(?date) limit 100" assertion.
- get-latest-nanopubs-from-pubkeys-userid 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/> 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 filter(exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- 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" assertion.
- get-user-stats sparql "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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) 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 filter(exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- 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 { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?_userid_iri . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key" assertion.
- get-user-stats sparql "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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) 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 filter(exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- 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 { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?_userid_iri . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key" assertion.
- get-latest-nanopubs-from-pubkeys-userid 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/> 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 filter(exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- 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" assertion.
- get-user-stats sparql "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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix dct: <http://purl.org/dc/terms/> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix pav: <http://purl.org/pav/> select ?key ?value where { { select ?key (count(?np) as ?value) 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 filter(!bound(?pkh) || exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- 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/full>) as ?service) # Should be /meta once RDF4J bug is resolved and we can allow for >1 concurrent queries service ?service { select distinct ?np ?invalidated { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?_userid_iri . bind( exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } as ?invalidated ) } } } } bind(if(?invalidated,"invalidatedNpCount","validNpCount") as ?key) values ?key { "invalidatedNpCount" "validNpCount" } } group by ?key ?invalidated } union { select ?key (sum(?npcount) as ?value) where { bind("acceptedNpCount" as ?key) optional { <x:> <x:> ?_userid_iri } # ensure grlc is picking up the placeholder values ?npType { <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(?npType)))) as ?service) service ?service { select (count(distinct ?np) as ?npcount) where { optional { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasPublicationInfo ?i . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } { { graph ?i { ?np pav:authoredBy ?_userid_iri . } } union { graph ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_userid_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } } } } group by ?np } } group by ?key } } order by ?key" assertion.
- get-latest-nanopubs-from-pubkeys-userid 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/> 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 filter(!bound(?pkh) || exists {?any_np npa:hasValidSignatureForPublicKeyHash ?pkh }) # Filter out the hashes for which no repo exists; try to do this better with future versions of Nanopub Query } } # #==================================================================#--------------------- 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/full>) as ?service) # Should be /meta once RDF4J bug is resolved and we can allow for >1 concurrent queries 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" assertion.
- get-top-creators-last30d 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 distinct ?userid (count(distinct ?np) as ?count) where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?userid . } } union { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasAssertion ?assertion . ?np np:hasProvenance ?prov . } graph ?prov { ?assertion prov:wasAttributedTo ?userid . } } filter(?userid != <https://orcid.org/1234-1234-1234-1234>) filter(?userid != <https://orcid.org/0000-0000-0000-0000>) filter(!regex(str(?userid), '[^A-Za-z0-9-_]RA[A-Za-z0-9-_]{43}$')) } group by ?userid order by desc(?count) limit 10" assertion.
- get-all-pubkeys sparql "prefix npa: <http://purl.org/nanopub/admin/> select distinct ?pubkey ?pubkeyhash where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . } } order by ?pubkey" assertion.
- get-newer-versions-of-np sparql "http://purl.org/np/RASVryv0gZQcauqi68N4cxu7kLVDxIBobPbDd2Ar2FvOA https://w3id.org/np/RAGBEisKAxwcQTdfR7ALwCeQBrUVeU23F8uFvFmO-H6F0 prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix dct: <http://purl.org/dc/terms/> select ?newerVersion ?date ?retractedBy ?supersededBy where { graph npa:graph { ?_np_iri npa:hasValidSignatureForPublicKey ?pubkey . ?newerVersion npa:hasValidSignatureForPublicKey ?pubkey . ?newerVersion dct:created ?date . optional { ?retractedBy npx:retracts ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?supersededBy npx:supersedes ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph npa:networkGraph { ?newerVersion (npx:supersedes)* ?_np_iri . } } order by desc(?date) ?newerVersion" assertion.
- get-newer-versions-of-np sparql "prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix dct: <http://purl.org/dc/terms/> select ?newerVersion ?date ?retractedBy ?supersededBy where { graph npa:graph { ?_np_iri npa:hasValidSignatureForPublicKey ?pubkey . ?newerVersion npa:hasValidSignatureForPublicKey ?pubkey . ?newerVersion dct:created ?date . optional { ?retractedBy npx:retracts ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?supersededBy npx:supersedes ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph npa:networkGraph { ?newerVersion (npx:supersedes)* ?_np_iri . } } order by desc(?date) ?newerVersion" assertion.
- get-introducing-np 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/> select ?np ?pubkey ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:introduces ?_thing_iri . ?np dct:created ?date . } } order by desc(?date)" assertion.
- get-datasets sparql "prefix prov: <http://www.w3.org/ns/prov#> prefix schema: <http://schema.org/> 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/> select distinct ?dataset ?label ?maintainer where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . ?np np:hasProvenance ?p . } graph ?a { ?dataset a <http://purl.org/dc/dcmitype/Dataset> . optional { ?dataset dct:title ?label . } optional { ?dataset schema:maintainer ?maintainer . } } graph ?p { ?a prov:wasAttributedTo ?agent . } }" assertion.
- get-most-frequent-a-pred 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/> select ?pred (count(distinct ?np) as ?predcount) where { graph npa:graph { ?np np:hasAssertion ?a . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?a { ?subj ?pred ?obj . } } group by ?pred order by desc(?predcount) limit 50" assertion.
- get-studies 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/> select ?np ?label ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <http://semanticscience.org/resource/SIO_001066> . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } } limit 100" assertion.
- find-fair-specifications 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 dct: <http://purl.org/dc/terms/> prefix fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?thing ?label ?description ?np ?pubkey ?date where { graph npa:graph { values ?type { fip:FAIR-Specification fip:Metadata-schema fip:Semantic-model fip:Structured-vocabulary fip:Provenance-model } ?np npx:hasNanopubType ?type . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:introduces|npx:describes ?thing . ?np rdfs:label ?label . optional { ?np dct:description ?description . } ?np np:hasAssertion ?a . } ?np search:matches [ search:query ?_query ; search:property rdfs:label ; search:score ?score ; search:snippet ?snippet ] . } limit 10" assertion.
- get-sciencelive-nanopubs 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/> SELECT ?np ?label ?creator ?date WHERE { GRAPH npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . FILTER NOT EXISTS { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:hasNanopubType <https://w3id.org/np/RAbrZanVELw9xGL0IgtU5a7jrbdY7JSwBf9dPbT0UJVao> . ?np dct:created ?date . ?np np:hasAssertion ?a . ?np npx:signedBy ?creator . OPTIONAL { ?np rdfs:label ?label } } } order by desc(?date)" assertion.
- get-queries 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 grlc: <https://w3id.org/kpxl/grlc/> select ?np ?label ?pubkeyhash ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkeyhash . } ?np dct:created ?date . ?np npx:hasNanopubType grlc:grlc-query . optional { ?np rdfs:label ?label } } } order by desc(?date)" assertion.
- get-participation 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 wd: <http://www.wikidata.org/entity/> select ?person ?event ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?person wd:P1344 ?event . } } order by desc(?date)" assertion.
- find-gofair-qualified-things 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/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np ?recommender ?recommendation_np where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } } } order by asc(?label)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np ?recommender ?recommendation_np where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } } } order by asc(?label)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(?recommender; separator=" ") as ?recommenders) (group_concat(?recommendation_np; separator=" ") as ?recommendation_nps) where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } } } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by asc(?label)" assertion.
- list_nonqualifed_fsr sparql "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 rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix fip: <https://w3id.org/fair/fip/terms/> select distinct ?np ?label (group_concat(distinct ?typelabel; separator = ", ") as ?types) ?date where { values ?service { <https://w3id.org/np/l/nanopub-query-1.1/repo/type/3ef5b11551ebc44e34f4bca614b387204447656ce195314532769ca7b20143fe> <https://w3id.org/np/l/nanopub-query-1.1/repo/type/070fa9a0f87a189bc2eb9d4c1a14f68f11538cc2229b9f4fd6ac026a3d2ce570> } service ?service { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?np npx:hasNanopubType <https://w3id.org/fair/3pff/3PFF-event> . } filter not exists { ?np npx:hasNanopubType fip:FAIR-Implementation-Community . } filter not exists { ?np npx:hasNanopubType fip:FAIR-Implementation-Profile . } filter not exists { ?np npx:hasNanopubType fip:Semantic-Interoperability-Profile . } ?np dct:created ?date . filter(str(?date) > "2022") ?np np:hasAssertion ?a . } graph ?a { #?thing a <https://w3id.org/fair/fip/terms/FAIR-Supporting-Resource> . ?thing a ?type . ?thing rdfs:label ?labelx . } } filter( ?type != <https://w3id.org/fair/fip/terms/FAIR-Supporting-Resource> ) filter( ?type != <https://w3id.org/fair/fip/terms/Available-FAIR-Supporting-Resource> ) filter( ?type != <https://w3id.org/fair/fip/terms/FAIR-Supporting-Resource-to-be-Developed> ) filter( ?type != <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource> ) filter( ?type != <https://w3id.org/fair/fip/terms/Available-FAIR-Enabling-Resource> ) filter( ?type != <https://w3id.org/fair/fip/terms/FAIR-Enabling-Resource-to-be-Developed> ) bind(replace(str(?type), '^.*/([^/]+)$', '$1') as ?typelabel) bind(str(?labelx) as ?label) optional { select ?np ?disapproval { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { graph npa:graph { ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . ?disapproval np:hasAssertion ?da . filter not exists { ?disapprovalx npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody npx:disapprovesOf ?np . } } } } filter(!bound(?disapproval)) optional { select ?np ?qualification { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { graph npa:graph { ?qualification npa:hasValidSignatureForPublicKey ?qpubkey . ?qualification np:hasAssertion ?qa . filter not exists { ?qualificationx npx:invalidates ?qualification ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qsomebody npx:qualifies ?np . } } } } filter(!bound(?qualification)) } group by ?np ?label ?date order by desc(?date)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np ?recommender ?recommendation_np where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } } } order by asc(?label)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(?recommender; separator=" ") as ?recommenders) (group_concat(?recommendation_np; separator=" ") as ?recommendation_nps) where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph <https://w3id.org/np/RAkVk6aKWsmgcuKtPA7OSp2h-GbDfx8xrz_kJAAgY8Xa4#assertion> { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } } } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by asc(?label)" assertion.
- get-research-programmes 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/> select ?researchprogramme ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?researchprogramme <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Research-Programme> . } }" assertion.
- get-research-programmes 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/> select ?thing ?label ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?thing <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Research-Programme> . ?thing rdfs:label ?label . } }" assertion.
- get-research-programmes 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/> select ?thing ?label ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?thing <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Research-Programme> . ?thing rdfs:label ?label . filter(contains(?label, ?_searchterm)) } }" assertion.
- get-projects 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/> select ?project ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?project <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Project> . } }" assertion.
- get-projects 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/> select ?thing ?label ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?thing <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Project> . ?thing rdfs:label ?label . filter(contains(?label, ?_searchterm)) } }" assertion.
- get-research-programmes 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/> select ?thing ?label ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?thing <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Research-Programme> . ?thing rdfs:label ?label . filter(contains(?label, ?_searchterm)) } }"" assertion.
- get-research-programmes 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/> select ?thing ?label ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?thing <https://w3id.org/fdof/ontology#hasInformationObjectType> <https://w3id.org/gff/rao/terms/Research-Programme> . ?thing rdfs:label ?label . filter(contains(?label, ?_searchterm)) } }" assertion.
- get-fdo-feed 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/> select ?fdo ?np ?label ?fdo ?date where { graph npa:graph { ?np npx:signedBy ?__creator_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <https://w3id.org/fdof/ontology#FAIRDigitalObject> . ?np npx:introduces ?fdo . optional { ?np rdfs:label ?label } } } order by desc(?date) limit 1000" assertion.
- get-fdo-feed 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/> select ?fdo ?np ?label ?creator ?date where { graph npa:graph { ?np npx:signedBy ?__creator_iri . bind(?__creator_iri as ?creator) ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <https://w3id.org/fdof/ontology#FAIRDigitalObject> . ?np npx:introduces ?fdo . optional { ?np rdfs:label ?label } } } order by desc(?date) limit 1000" assertion.
- get-favorite-things 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/> select ?fdo ?np ?label ?creator ?date where { graph npa:graph { ?np npx:signedBy ?__creator_iri . bind(?__creator_iri as ?creator) ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <https://w3id.org/fdof/ontology#FAIRDigitalObject> . ?np npx:introduces ?fdo . optional { ?np rdfs:label ?label } } } order by desc(?date) limit 1000" assertion.
- get-favorite-things 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/> select ?fdo ?np ?label ?creator ?date where { graph npa:graph { ?np npx:signedBy ?__creator_iri . bind(?__creator_iri as ?creator) ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <http://purl.org/spar/cito/likes> . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?subj <http://purl.org/spar/cito/likes> ?favoritedThing . } } order by desc(?date)" assertion.
- get-favorite-things 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/> select ?favoritedThing ?label ?np ?creator ?date where { graph npa:graph { ?np npx:signedBy ?__creator_iri . bind(?__creator_iri as ?creator) ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <http://purl.org/spar/cito/likes> . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?subj <http://purl.org/spar/cito/likes> ?favoritedThing . } } order by desc(?date)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=" ") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=" ") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y/assertion> { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y/assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y/assertion> { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } } } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)" assertion.
- find-fdos-by-ref 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/> select distinct ?fdo ?np ?label ?creator ?date where { bind(if(strstarts(?_refid, "https://") || strstarts(?_refid, "http://"), iri(?_refid), iri(concat("https://hdl.handle.net/", str(?_refid)))) as ?ref) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <https://w3id.org/fdof/ontology#FAIRDigitalObject> . ?np npx:introduces ?fdo . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } optional { ?np npx:signedBy ?creator } } optional { graph ?a { ?subj ?ref ?obj . bind(true as ?inpred) } } optional { graph ?a { ?subj ?pred ?ref . bind(true as ?inobj) } } filter(?inpred || ?inobj) } order by desc(?date)" assertion.
- get-projects 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 np:hasAssertion ?a . } GRAPH ?a { ?thing a <https://w3id.org/fair/ff/terms/Project> . ?thing rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-research-programmes 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Research-Programme> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-research-programmes 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Research-Programme> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-calls-for-proposals 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Call-For-Proposals> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-projects 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Project> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-proposals 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Proposal> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-consortium-agreements 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Consortium-Agreement> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-articles 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Article> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-ethical-clearances 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Ethical-Clearance> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-datasets 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Dataset> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-dmps 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Data-Management-Plan> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-pre-registrations 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Pre-Registration> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-software 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Software> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-methods 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Method> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-all-rp 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Research-Programme> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . } }" assertion.
- get-all-methods 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Method> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . } }" assertion.
- get-all-datasets 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Dataset> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . } }" assertion.
- get-all-datasets 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 schema: <https://schema.org/> SELECT ?n1 ?label ?thing ?date ?funder where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Dataset> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . ?n1 schema:funder ?funder . } }" assertion.
- get-calls-for-all-proposals 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 schema: <https://schema.org/> SELECT ?n1 ?label ?thing ?date ?funder where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Call-For-Proposal> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . ?n1 schema:funder ?funder . } }" assertion.
- get-calls-for-all-proposals 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 schema: <https://schema.org/> SELECT ?n1 ?label ?thing ?date ?funder where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Call-For-Proposals> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . ?n1 schema:funder ?funder . } }" assertion.
- get-all-p 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Project> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . } }" assertion.
- get-datasets 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Dataset> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?thing rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-datasets 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 np:hasAssertion ?a . } graph ?a { ?thing a <https://w3id.org/fair/ff/terms/Project> . ?thing rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-datasets 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 np:hasAssertion ?a . } graph ?a { ?thing a <https://w3id.org/fair/ff/terms/Dataset> . ?thing rdfs:label ?label . filter(contains(lcase(?label), lcase(?_searchterm)) ) } }" assertion.
- get-all-datasets 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 schema: <https://schema.org/> SELECT ?n1 ?label ?thing ?date ?funder where { GRAPH npa:graph { ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 np:hasAssertion ?a . } graph ?a { ?thing a <https://w3id.org/fair/ff/terms/Project> . ?thing rdfs:label ?label . ?thing schema:funder ?funder } }" assertion.
- get-all-rp 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#> SELECT ?n1 ?label ?thing ?date where { GRAPH npa:graph { ?n1 npx:introduces ?thing . ?n1 npx:hasNanopubType <https://w3id.org/fair/ff/terms/Research-Programme> . ?n1 npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?np2 npx:invalidates ?n1 ; npa:hasValidSignatureForPublicKey ?pubkey . } ?n1 dct:created ?date . ?n1 rdfs:label ?label . } }" assertion.
- find-fdos-by-ref 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/> select distinct ?fdo ?np ?label ?creator ?date where { optional { <x:> <x:> ?_refid } bind(if(strstarts(?_refid, "https://") || strstarts(?_refid, "http://"), iri(?_refid), iri(concat("https://hdl.handle.net/", str(?_refid)))) as ?ref) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <https://w3id.org/fdof/ontology#FAIRDigitalObject> . ?np npx:introduces ?fdo . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } optional { ?np npx:signedBy ?creator } } optional { graph ?a { ?subj ?ref ?obj . bind(true as ?inpred) } } optional { graph ?a { ?subj ?pred ?ref . bind(true as ?inobj) } } filter(?inpred || ?inobj) } order by desc(?date)" assertion.
- find-fdos-by-ref 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/> select distinct ?fdo ?np ?label ?creator ?date where { optional { <x:> <x:> ?_refid } # for grlc to pick up the placeholder bind(if(strstarts(?_refid, "https://") || strstarts(?_refid, "http://"), iri(?_refid), iri(concat("https://hdl.handle.net/", str(?_refid)))) as ?ref) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:hasNanopubType <https://w3id.org/fdof/ontology#FAIRDigitalObject> . ?np npx:introduces ?fdo . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } optional { ?np npx:signedBy ?creator } } optional { graph ?a { ?subj ?ref ?obj . bind(true as ?inpred) } } optional { graph ?a { ?subj ?pred ?ref . bind(true as ?inobj) } } filter(?inpred || ?inobj) } order by desc(?date)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=" ") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=" ") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval np:hasAssertion ?da . ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np np:hasAssertion ?qa . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np np:hasAssertion ?ra . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } } graph ?latest_curators_assertion { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph ?ra { ?thing fip:recommended-by ?recommender . } filter exists { graph npa:graph { ?fip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?fip_np npa:hasValidSignatureForPublicKey ?fip_pubkey . filter not exists { ?fip_np_x npx:invalidates ?fip_np ; npa:hasValidSignatureForPublicKey ?fip_pubkey . } ?fip_np np:hasAssertion ?fip_np_a . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?fip_pubkey . } graph ?fip_np_a { ?fip fip:has-declaration-index ?index . } graph npa:graph { ?index np:hasAssertion ?index_a . } graph ?index_a { ?index npx:includesElement ?decl_np . } graph npa:graph { ?decl_np npx:hasNanopubType fip:FIP-Declaration . ?decl_np np:hasAssertion ?decl_np_a } graph ?decl_np_a { ?subj ?pred ?thing . values ?pred { fip:declares-current-use-of fip:declares-planned-use-of } ?decl fip:declared-by ?recommender . } } } } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)" assertion.
- find-gofair-qualified-things 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 fip: <https://w3id.org/fair/fip/terms/> select distinct ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=" ") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=" ") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . optional { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np (npx:introduces|npx:describes) ?thing . ?np rdfs:label ?label . ?np dct:description ?description . ?np dct:created ?date . filter(str(?date) > "2022") } bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text) filter( contains(?text, lcase(str(?_searchterm))) ) optional { graph npa:graph { ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . } ?disapproval np:hasAssertion ?da . } graph ?da { ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np . } } filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason optional { graph npa:graph { ?qualification_np npx:hasNanopubType npx:qualifies . ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } optional { graph npa:graph { ?recommendation_np npx:hasNanopubType fip:recommended-by . ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey . } graph ?latest_curators_assertion { ?rpubkeys npx:hasPublicKey ?rpubkey . } graph npa:graph { filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . } ?recommendation_np np:hasAssertion ?ra . } graph ?ra { ?thing fip:recommended-by ?recommender . } filter exists { graph npa:graph { ?fip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . ?fip_np npa:hasValidSignatureForPublicKey ?fip_pubkey . } graph ?latest_curators_assertion { ?dpubkeys npx:hasPublicKey ?fip_pubkey . } graph npa:graph { filter not exists { ?fip_np_x npx:invalidates ?fip_np ; npa:hasValidSignatureForPublicKey ?fip_pubkey . } ?fip_np np:hasAssertion ?fip_np_a . } graph ?fip_np_a { ?fip fip:has-declaration-index ?index . } graph npa:graph { ?index np:hasAssertion ?index_a . } graph ?index_a { ?index npx:includesElement ?decl_np . } graph npa:graph { ?decl_np npx:hasNanopubType fip:FIP-Declaration . ?decl_np np:hasAssertion ?decl_np_a } graph ?decl_np_a { ?subj ?pred ?thing . values ?pred { fip:declares-current-use-of fip:declares-planned-use-of } ?decl fip:declared-by ?recommender . } } } } group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np order by desc(?recommender_count) asc(?label)" assertion.
- fer_search sparql "#+ summary: Full-text search for FAIR Implementation Profiles #+ endpoint: https://query.np.trustyuri.net/repo/text #+ method: GET 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?label ?description ?community ?date ?qualifier (max(?score) as ?maxscore) where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter exists { ?np npx:hasNanopubType fip:FAIR-Implementation-Profile . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/full> { graph npa:graph { ?np np:hasAssertion ?a . ?np npx:introduces ?fip . } graph ?a { ?fip dct:description ?description . ?fip fip:declared-by ?community . } } } ?np search:matches [ search:query ?_query ; search:property ?property ; search:score ?score ; search:snippet ?snippet ] . optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { # (http://purl.org/nanopub/x/qualifies) graph npa:graph { ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } } filter not exists { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { # (http://purl.org/nanopub/x/disapprovesOf) graph npa:graph { ?disapproval_np npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { ?disapproval_np np:hasAssertion ?da . } graph ?da { ?disapprover npx:disapprovesOf ?np . } } } } group by ?np ?description ?label ?community ?date ?qualifier order by desc(?maxscore)" assertion.
- fer_search 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?label ?description ?community ?date ?qualifier (max(?score) as ?maxscore) where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter exists { ?np npx:hasNanopubType fip:FAIR-Implementation-Profile . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/full> { graph npa:graph { ?np np:hasAssertion ?a . ?np npx:introduces ?fip . } graph ?a { ?fip dct:description ?description . ?fip fip:declared-by ?community . } } } ?np search:matches [ search:query ?_query ; search:property ?property ; search:score ?score ; search:snippet ?snippet ] . optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { # (http://purl.org/nanopub/x/qualifies) graph npa:graph { ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph npa:graph { ?qualification_np np:hasAssertion ?qa . } graph ?qa { ?qualifier npx:qualifies ?np . } } } filter not exists { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { # (http://purl.org/nanopub/x/disapprovesOf) graph npa:graph { ?disapproval_np npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } graph npa:graph { ?disapproval_np np:hasAssertion ?da . } graph ?da { ?disapprover npx:disapprovesOf ?np . } } } } group by ?np ?description ?label ?community ?date ?qualifier order by desc(?maxscore)" assertion.
- fip_search 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?label ?description ?community ?date ?qualifier (max(?score) as ?maxscore) where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . filter exists { ?np npx:hasNanopubType fip:FAIR-Implementation-Profile . } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } optional { service <https://query.np.trustyuri.net/repo/full> { graph npa:graph { ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . } graph ?a { ?fip dct:description ?description . ?fip fip:declared-by ?community . } graph ?i { ?np npx:introduces ?fip . } } } ?np search:matches [ search:query ?_query ; search:property ?property ; search:score ?score ; search:snippet ?snippet ] . optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { # (http://purl.org/nanopub/x/qualifies) graph npa:graph { ?qualification_np np:hasAssertion ?qa ; npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } } filter not exists { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { # (http://purl.org/nanopub/x/disapprovesOf) graph npa:graph { ?disapproval_np np:hasAssertion ?da ; npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?disapprover npx:disapprovesOf ?np . } } } } group by ?np ?description ?label ?community ?date ?qualifier order by desc(?maxscore)" assertion.
- get-gff-curators 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 foaf: <http://xmlns.com/foaf/0.1/> select distinct ?facilitatorName ?facilitatorId ?pubkey where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?pk . ?latest npa:hasValidSignatureForPublicKey ?pk . filter not exists { ?npx npx:invalidates ?latest ; npa:hasValidSignatureForPublicKey ?pk . } ?latest dct:created ?date . ?latest np:hasAssertion ?assertion . } graph npa:networkGraph { ?latest (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?x npx:supersedes ?latest } } graph ?assertion { ?pubkeys npx:hasPublicKey ?pubkey . } service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/77757cabf6184c51c20b8b0fe5dc5e1365b7f628448335184ad54319a0affdfc> { # (http://purl.org/nanopub/x/declaredBy) graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey ; np:hasAssertion ?a . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?a { ?decl npx:hasPublicKey ?pubkey ; npx:declaredBy ?facilitatorId . ?facilitatorId foaf:name ?facilitatorName . } } } order by ?facilitatorName" assertion.
- fair_community_search 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?community ?label ?comment ?date (group_concat(distinct ?domain; separator=" ") as ?domains) ?qualifier (max(?score) as ?maxscore) (count(distinct ?fip) as ?fipcount) where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date ; npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces ?community ; np:hasAssertion ?a . ?np dct:created ?date . filter(str(?date) > "2022") filter(strends(str(?date), "Z")) filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } ?np search:matches [ search:query ?_query ; search:property npa:hasFilterLiteral ; search:score ?score ; search:snippet ?snippet ] . optional { service <https://query.np.trustyuri.net/repo/full> { graph ?a { ?community a fip:FAIR-Implementation-Community ; rdfs:label ?label ; rdfs:comment ?comment ; fip:has-research-domain ?domain . } } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { # (http://purl.org/nanopub/x/qualifies) graph npa:graph { ?qualification_np np:hasAssertion ?qa ; npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } graph ?qa { ?qualifier npx:qualifies ?np . } } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/92efd7a0ea4be4e01ec0817ccec87f975203b30addcc3166a204498ffed73b66> { # (https://w3id.org/fair/fip/terms/FAIR-Implementation-Profile) graph npa:graph { ?fipnp np:hasAssertion ?fa . ?fipnp npa:hasValidSignatureForPublicKey ?fpubkey . ?fipnp npx:hasNanopubType fip:FAIR-Implementation-Profile . filter not exists { ?fipnpx npx:invalidates ?fipnp ; npa:hasValidSignatureForPublicKey ?fpubkey . } } graph ?fa { ?fip fip:declared-by ?community . } } } filter not exists { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { # (http://purl.org/nanopub/x/disapprovesOf) graph npa:graph { ?disapproval_np np:hasAssertion ?da ; npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } graph ?da { ?disapprover npx:disapprovesOf ?np . } } } } group by ?np ?community ?label ?comment ?date ?qualifier order by desc(?maxscore)" assertion.
- fair_community_search_by_domain 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?community ?label ?comment ?date (group_concat(distinct ?domain; separator=" ") as ?domains) ?qualifier (max(?score) as ?maxscore) (count(distinct ?fip) as ?fipcount) where { { select ?latest_curators_assertion where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } } } graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date ; npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces ?community ; np:hasAssertion ?a . ?np dct:created ?date . filter(str(?date) > "2022") filter(strends(str(?date), "Z")) filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } ?np search:matches [ search:query ?_query ; search:property npa:hasFilterLiteral ; search:score ?score ; search:snippet ?snippet ] . service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/6a09747868afc83837e38d1bac79362fbcc3e2032cff2f2d244f4e24cbd085c6> { # (https://w3id.org/fair/fip/terms/FAIR-Implementation-Community) graph ?a { ?community a fip:FAIR-Implementation-Community ; rdfs:label ?label ; rdfs:comment ?comment . ?community fip:has-research-domain ?domainx . } graph ?latest_curators_assertion { ?domainx rdfs:subClassOf* ?_domain_iri . } graph ?a { ?community fip:has-research-domain ?domain . } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { # (http://purl.org/nanopub/x/qualifies) graph ?qa { ?qualifier npx:qualifies ?np . } graph npa:graph { ?qualification_np np:hasAssertion ?qa ; npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph <https://w3id.org/np/RAO1cF5peSY1GO584EAUzBccCWNDdfsMPEzndjPp3rKhg/assertion> { ?qpubkeys npx:hasPublicKey ?qpubkey . } } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/92efd7a0ea4be4e01ec0817ccec87f975203b30addcc3166a204498ffed73b66> { # (https://w3id.org/fair/fip/terms/FAIR-Implementation-Profile) graph ?fa { ?fip fip:declared-by ?community . } graph npa:graph { ?fipnp np:hasAssertion ?fa . ?fipnp npa:hasValidSignatureForPublicKey ?fpubkey . ?fipnp npx:hasNanopubType fip:FAIR-Implementation-Profile . filter not exists { ?fipnpx npx:invalidates ?fipnp ; npa:hasValidSignatureForPublicKey ?fpubkey . } } } } filter not exists { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { # (http://purl.org/nanopub/x/disapprovesOf) graph ?da { ?disapprover npx:disapprovesOf ?np . } graph npa:graph { ?disapproval_np np:hasAssertion ?da ; npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } } } } group by ?np ?community ?label ?comment ?date ?qualifier order by desc(?maxscore)" assertion.
- fers_by_type 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?thing ?description ?label ?date ?types ?qualifier (group_concat(distinct ?community; separator=" ") as ?communities) ?maxscore where { { select ?latest_curators_assertion where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } } } { select ?np ?thing ?label ?description ?date (group_concat(distinct ?type; separator=" ") as ?types) where { graph npa:graph { ?np rdfs:label ?label ; dct:description ?description ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . ?np npx:introduces|npx:describes ?thing . filter(str(?date) > "2022") filter exists { ?np npx:hasNanopubType ?fsr_type . values ?fsr_type { fip:FAIR-Enabling-Resource fip:FAIR-Supporting-Resource } } filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } ?np npx:hasNanopubType ?_type_iri . ?np npx:hasNanopubType ?type . filter(?type != fip:FAIR-Enabling-Resource) filter(?type != fip:Available-FAIR-Enabling-Resource) filter(?type != fip:FAIR-Enabling-Resource-to-be-Developed) filter(?type != fip:FAIR-Supporting-Resource) filter(?type != fip:Available-FAIR-Supporting-Resource) filter(?type != fip:FAIR-Supporting-Resource-to-be-Developed) filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } filter not exists { graph ?da { ?disapprover npx:disapprovesOf ?np . } graph npa:graph { ?disapproval_np np:hasAssertion ?da ; npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } } } group by ?np ?thing ?label ?description ?date } optional { graph ?qa { ?qualifier npx:qualifies ?np . } graph npa:graph { ?qualification_np np:hasAssertion ?qa ; npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } } optional { graph npa:graph { ?decl_np npx:hasNanopubType fip:FIP-Declaration . ?decl_np np:hasAssertion ?decl_a ; npa:hasValidSignatureForPublicKey ?decl_pubkey . filter not exists { ?decl_npx npx:invalidates ?decl_np ; npa:hasValidSignatureForPublicKey ?decl_pubkey . } } graph ?decl_a { ?decl a fip:FIP-Declaration . # ---- # not really needed but seems to make query faster: values ?use { fip:declares-current-use-of fip:declares-planned-use-of fip:declares-planned-development-of fip:declares-planned-replacement-of } ?decl ?use ?thing . # ---- ?decl fip:declared-by ?community . } } } group by ?np ?thing ?description ?label ?date ?types ?qualifier ?maxscore order by desc(?maxscore)" assertion.
- fair_community_search_by_domain 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 fip: <https://w3id.org/fair/fip/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?np ?community ?label ?comment ?date (group_concat(distinct ?domain; separator=" ") as ?domains) ?qualifier (max(?score) as ?maxscore) (count(distinct ?fip) as ?fipcount) where { { select ?latest_curators_assertion where { graph npa:graph { <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk . ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk . filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . } ?latest_curators_np np:hasAssertion ?latest_curators_assertion . } graph npa:networkGraph { ?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> . filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np } } } } graph npa:graph { ?np rdfs:label ?label ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date ; npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces ?community ; np:hasAssertion ?a . ?np dct:created ?date . filter(str(?date) > "2022") filter(strends(str(?date), "Z")) filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } ?np search:matches [ search:query ?_query ; search:property npa:hasFilterLiteral ; search:score ?score ; search:snippet ?snippet ] . service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/6a09747868afc83837e38d1bac79362fbcc3e2032cff2f2d244f4e24cbd085c6> { # (https://w3id.org/fair/fip/terms/FAIR-Implementation-Community) graph ?a { ?community a fip:FAIR-Implementation-Community ; rdfs:label ?label ; rdfs:comment ?comment . ?community fip:has-research-domain ?domainx . } graph ?latest_curators_assertion { ?domainx rdfs:subClassOf* ?_domain_iri . } graph ?a { ?community fip:has-research-domain ?domain . } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/cd51a3ac3e109fd12aacd5a324e14ebff644ce209c916e4250a3f50c2ddf0051> { # (http://purl.org/nanopub/x/qualifies) graph ?qa { ?qualifier npx:qualifies ?np . } graph npa:graph { ?qualification_np np:hasAssertion ?qa ; npa:hasValidSignatureForPublicKey ?qpubkey . filter not exists { ?qualification_npx npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?qpubkey . } } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/92efd7a0ea4be4e01ec0817ccec87f975203b30addcc3166a204498ffed73b66> { # (https://w3id.org/fair/fip/terms/FAIR-Implementation-Profile) graph ?fa { ?fip fip:declared-by ?community . } graph npa:graph { ?fipnp np:hasAssertion ?fa . ?fipnp npa:hasValidSignatureForPublicKey ?fpubkey . ?fipnp npx:hasNanopubType fip:FAIR-Implementation-Profile . filter not exists { ?fipnpx npx:invalidates ?fipnp ; npa:hasValidSignatureForPublicKey ?fpubkey . } } } } filter not exists { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/39692876d0a7881c82e9a2cb6dc8859fb16fa69fb41cea2ace2f8fa70bc52aed> { # (http://purl.org/nanopub/x/disapprovesOf) graph ?da { ?disapprover npx:disapprovesOf ?np . } graph npa:graph { ?disapproval_np np:hasAssertion ?da ; npa:hasValidSignatureForPublicKey ?dpubkey . filter not exists { ?disapproval_npx npx:invalidates ?disapproval_np ; npa:hasValidSignatureForPublicKey ?dpubkey . } } graph ?latest_curators_assertion { ?qpubkeys npx:hasPublicKey ?dpubkey . } } } } group by ?np ?community ?label ?comment ?date ?qualifier order by desc(?maxscore)" assertion.