Matches in Nanopublications for { ?s <https://w3id.org/kpxl/grlc/sparql> ?o ?g. }
- get-3pff-events 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 tpff: <https://w3id.org/fair/3pff/> select ?event ?eventSeries ?eventName ?eventShortName ?eventLongName ?eventType ?eventTypeName ?eventDate ?eventOrganizer ?eventOrganizerLabel (group_concat(?eventFacilitator; separator=" ") as ?eventFacilitators) (group_concat(?eventFacilitatorLabel; separator=" ") as ?eventFacilitatorLabels) ?eventMoreInfoLink ?eventMoreInfoLinkLabel ?np ?npCreator ?npDate where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?npDate . ?np dct:creator ?npCreator . ?np np:hasAssertion ?assertion . ?np npx:introduces ?event . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?assertion { ?event a tpff:3PFF-event . ?event rdfs:label ?eventName . bind(replace(str(?eventName), ' ?\\|.*$', '') as ?eventShortName) bind(replace(str(?eventName), '^([A-Z0-9]{2,3}).*$', '$1') as ?eventSeries) bind(replace(str(?eventName), '^.*\\| ?(.*)$', '$1') as ?eventLongName) ?event dct:date ?eventDate . optional { ?event tpff:has-event-organizer ?eventOrganizer . bind(replace(str(?eventOrganizer), '^.*[/#]([^#/\\?]+)[#/]?(\\?.*)?$', '$1') as ?eventOrganizerLabel) } optional { ?event tpff:has-event-facilitator ?eventFacilitator . bind(replace(str(?eventFacilitator), '^.*[/#]([^#/\\?]+)[#/]?(\\?.*)?$', '$1') as ?eventFacilitatorLabel) } optional { values ?eventType { tpff:In-Person-Event tpff:Hybrid-Event tpff:Virtual-Event } ?event a ?eventType . bind(replace(str(?eventType), '^.*/', '') as ?eventTypeName) } optional { ?event rdfs:seeAlso ?eventMoreInfoLink . bind(replace(str(?eventMoreInfoLink), '^.*[/#]([^#/\\?]+)[#/]?(\\?.*)?$', '$1') as ?eventMoreInfoLinkLabel) } } } group by ?event ?eventSeries ?eventName ?eventShortName ?eventLongName ?eventType ?eventTypeName ?eventDate ?eventOrganizer ?eventOrganizerLabel ?eventMoreInfoLink ?eventMoreInfoLinkLabel ?np ?npCreator ?npDate order by ?eventSeries desc(?eventDate)" assertion.
- get-3pff-events 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 tpff: <https://w3id.org/fair/3pff/> select ?event ?eventSeries ?eventName ?eventShortName ?eventLongName ?eventType ?eventTypeName ?eventDate ?eventOrganizer ?eventOrganizerLabel (min(?eventFacilitator) as ?eventFacilitator1) (if(count(?eventFacilitator)>1,"et al.","") as ?eventFacilitatorEtAl) ?eventMoreInfoLink ?eventMoreInfoLinkLabel ?np ?npCreator ?npDate where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?npDate . ?np dct:creator ?npCreator . ?np np:hasAssertion ?assertion . ?np npx:introduces ?event . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?assertion { ?event a tpff:3PFF-event . ?event rdfs:label ?eventName . bind(replace(str(?eventName), ' ?\\|.*$', '') as ?eventShortName) bind(replace(str(?eventName), '^([A-Z0-9]{2,3}).*$', '$1') as ?eventSeries) bind(replace(str(?eventName), '^.*\\| ?(.*)$', '$1') as ?eventLongName) ?event dct:date ?eventDate . optional { ?event tpff:has-event-organizer ?eventOrganizer . bind(replace(str(?eventOrganizer), '^.*[/#]([^#/\\?]+)[#/]?(\\?.*)?$', '$1') as ?eventOrganizerLabel) } optional { ?event tpff:has-event-facilitator ?eventFacilitator . bind(replace(str(?eventFacilitator), '^.*[/#]([^#/\\?]+)[#/]?(\\?.*)?$', '$1') as ?eventFacilitatorLabel) } optional { values ?eventType { tpff:In-Person-Event tpff:Hybrid-Event tpff:Virtual-Event } ?event a ?eventType . bind(replace(str(?eventType), '^.*/', '') as ?eventTypeName) } optional { ?event rdfs:seeAlso ?eventMoreInfoLink . bind(replace(str(?eventMoreInfoLink), '^.*[/#]([^#/\\?]+)[#/]?(\\?.*)?$', '$1') as ?eventMoreInfoLinkLabel) } } } group by ?event ?eventSeries ?eventName ?eventShortName ?eventLongName ?eventType ?eventTypeName ?eventDate ?eventOrganizer ?eventOrganizerLabel ?eventMoreInfoLink ?eventMoreInfoLinkLabel ?np ?npCreator ?npDate order by ?eventSeries desc(?eventDate)" assertion.
- get-accepted-nanopubs-by-author 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 nt: <https://w3id.org/np/o/ntemplate/> prefix bibo: <http://purl.org/ontology/bibo/> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?np ?label ?npType ?timestamp where { optional { <x:> <x:> ?_author_iri } # for grlc to pick 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 distinct ?np ?label ?timestamp 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 ?i { ?np bibo:authorList ?authorList . ?authorList ?hasElement ?_author_iri . filter(strstarts(str(?hasElement), str(rdf:_))) } } group by ?np ?label ?timestamp } } order by desc(?timestamp)" 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 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 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 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(?__pubkeyhashes as ?pubkeyhashes) # <- VAR __pubkeyhashes bind(if(bound(?pubkeyhashes), ?pubkeyhashes, "") as ?vs) # {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(?__pubkeyhashes as ?pubkeyhashes) # <- VAR __pubkeyhashes bind(if(bound(?pubkeyhashes), ?pubkeyhashes, "") as ?vs) # {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-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(!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) service ?pubkeyservice { 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-latest-nanopubs-from-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 { 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-from-pubkeys 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(?_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) service ?pubkeyservice { 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) 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-from-userid 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 { 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-from-pubkeys 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(?_pubkeyhashes as ?vs) # <- VAR _pubkeyhashes {select*{optional{<x:> <x:> <x:>}}} # (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) service ?pubkeyservice { 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) 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{<x:> <x:> <x:>}}} # (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) service ?pubkeyservice { 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-latest-nanopubs-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/> select ?np ?label ?pubkey ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . ?np npx:hasNanopubType ?_type_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-most-used-templates-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 nt: <https://w3id.org/np/o/ntemplate/> prefix dct: <http://purl.org/dc/terms/> select ?template_np ?label (sum(?npcount) as ?overallcount) { { select ?used_template_np (count(distinct ?np) as ?npcount) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np np:hasPublicationInfo ?i . } graph ?i { ?np nt:wasCreatedFromTemplate ?used_template_np . } } group by ?used_template_np } bind(uri(concat("https://w3id.org/np/l/nanopub-query-1.1/repo/type/", sha256(str(nt:AssertionTemplate)))) as ?atservice) { service ?atservice { graph npa:networkGraph { ?template_np npx:supersedes* ?used_template_np . } graph npa:graph { ?used_template_np npa:hasValidSignatureForPublicKey ?pubkey . ?template_np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?template_npx npx:invalidates ?template_np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?used_template_np np:hasAssertion ?a . } graph ?a { ?a rdfs:label ?label . } } } } group by ?template_np ?label order by desc(?overallcount) limit 10" assertion.
- get-latest-version-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 ?latest ?date where { graph npa:graph { ?_np_iri npa:hasValidSignatureForPublicKey ?pubkey . ?latest npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?latest ; npa:hasValidSignatureForPublicKey ?pubkey . } ?latest dct:created ?date . } graph npa:networkGraph { ?latest (npx:supersedes)* ?_np_iri . } }" assertion.
- get-all-user-intros sparql "prefix np: <http://www.nanopub.org/nschema#> prefix npx: <http://purl.org/nanopub/x/> prefix npa: <http://purl.org/nanopub/admin/> prefix dct: <http://purl.org/dc/terms/> prefix foaf: <http://xmlns.com/foaf/0.1/> select ?user ?name ?intronp ?date ?pubkey where { graph npa:graph { ?intronp npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?intronpx npx:invalidates ?intronp ; npa:hasValidSignatureForPublicKey ?pubkey . } ?intronp dct:created ?date . ?intronp np:hasAssertion ?a . } graph ?a { ?keydeclaration npx:declaredBy ?user . optional { ?user foaf:name ?name . } } } order by ?user desc(?date)" assertion.
- get-suggested-templates-to-get-started 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/> select ?template_np ?label ?date where { graph npa:graph { ?np npx:hasNanopubType <https://w3id.org/kpxl/gen/terms/SuggestedTemplateToGetStarted> . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . } graph ?a { ?template_np a <https://w3id.org/kpxl/gen/terms/SuggestedTemplateToGetStarted> . } } order by desc(?date)" assertion.
- fulltext-search-on-labels 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 search: <http://www.openrdf.org/contrib/lucenesail#> select ?np ?label ?date where { graph npa:graph { ?np rdfs:label ?label . ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } ?np search:matches [ search:query ?_query ; search:property rdfs:label ; search:score ?score ; search:snippet ?snippet ] . } limit 10" assertion.
- get-autocomplete-suggestions 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 search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?suggestion { { select ?suggestion where { graph npa:graph { ?np rdfs:label ?label . ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:created ?date . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } filter(!contains(?_query, " ")) filter(strEnds(?_query, "*")) ?np search:matches [ search:query ?_query ; search:property rdfs:label ; search:score ?score ; search:snippet ?snippet ] . bind(replace(?snippet, ".*<B>(.*)</B>.*", "$1") as ?suggestion) } limit 100 } } group by ?suggestion" assertion.
- get-creator-pubkeys sparql "prefix np: <http://www.nanopub.org/nschema#> prefix npx: <http://purl.org/nanopub/x/> prefix npa: <http://purl.org/nanopub/admin/> prefix dct: <http://purl.org/dc/terms/> select distinct ?creator ?pubkey where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?creator . filter(!strstarts(str(?creator), str(?np))) } } order by ?creator" assertion.
- get-latest-accepted-bdj 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?np ?label ?timestamp where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?timestamp . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasAssertion ?a . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } } order by desc(?timestamp) limit 20" assertion.
- get-latest-accepted-bdj 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?np ?label ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasAssertion ?a . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } } order by desc(?date) limit 20" assertion.
- get-latest-accepted-bdj 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 20" assertion.
- get-latest-accepted-bdj 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 100" assertion.
- get-latest-biodiv-candidates 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 biolink: <https://w3id.org/biolink/vocab/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> select ?np ?label ?pubkey ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np rdfs:label ?label . ?np dct:creator ?_creator_iri . ?np npx:hasNanopubType biodiv:BiodivNanopub . filter(not exists { ?np npx:hasNanopubType <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> } ) filter(not exists { ?np npx:hasNanopubType <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> } ) filter(not exists { ?np npx:hasNanopubType <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } ) } } order by desc(?date) limit 100" assertion.
- get-latest-biodiv-candidates 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 biolink: <https://w3id.org/biolink/vocab/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> select ?np ?label ?pubkey ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np rdfs:label ?label . ?np dct:creator ?__creator_iri . ?np npx:hasNanopubType biodiv:BiodivNanopub . filter(not exists { ?np npx:hasNanopubType <https://w3id.org/kpxl/pensoft/rio/terms/RIOJournalNanopub> } ) filter(not exists { ?np npx:hasNanopubType <https://w3id.org/kpxl/pensoft/bdj/terms/BiodiversityDataJournalNanopub> } ) filter(not exists { ?np npx:hasNanopubType <https://w3id.org/kpxl/ios/ds/terms/DataScienceNanopub> } ) } } order by desc(?date) limit 100" assertion.
- get-type-overview-last-12-months 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 ?type ?month ?npCount ?npCountType where { { select ?type ?month (count(?np) as ?npCount) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np dct:creator ?_creator_iri . ?np npx:hasNanopubType ?type . bind(substr(str(?date), 0, 8) as ?month) bind(now() as ?now) bind(concat(str(year(?now)), '-', if(month(?now)>9,'','0'), str(month(?now))) as ?lastMonth) bind(concat(str(year(?now)-1), '-', if(month(?now)>9,'','0'), str(month(?now))) as ?firstMonth) filter(?month > ?firstMonth && ?month <= ?lastMonth) } } group by ?type ?month order by ?type desc(?month) } { select ?type (count(?np) as ?npCountType) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np dct:creator ?_creator_iri . ?np npx:hasNanopubType ?type . bind(substr(str(?date), 0, 8) as ?month) bind(now() as ?now) bind(concat(str(year(?now)), '-', if(month(?now)>9,'','0'), str(month(?now))) as ?lastMonth) bind(concat(str(year(?now)-1), '-', if(month(?now)>9,'','0'), str(month(?now))) as ?firstMonth) filter(?month > ?firstMonth && ?month <= ?lastMonth) } } group by ?type order by desc(?npCountType) limit 10 } } order by desc(?npCountType) ?type desc(?month)" assertion.
- get-reactions 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 cito: <http://purl.org/spar/cito/> select distinct ?np ?person ?rel ?reltext ?pub ?text ?date ?pubkey where { graph npa:networkGraph { ?_pub_iri npx:supersedes* ?pub . } graph npa:graph { ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i. ?np dct:created ?date . ?np dct:creator ?person . ?np npx:hasNanopubType cito:cites . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?a { ?a dct:creator ?person . ?a ?rel ?pub . optional { ?a rdfs:comment ?text . } filter(strstarts(str(?rel), str(cito:))) } graph <http://purl.org/np/RA6d0qLmlRdXd-ubre83LxP22auJdJjXGzaW3W3qH4Neo#assertion> { ?rel rdfs:label ?reltext . } } order by desc(?date)" assertion.
- get-latest-accepted-ds 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 100" assertion.
- get-latest-accepted-rio 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 100" assertion.
- get-latest-accepted-ds 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 100" assertion.
- get-latest-accepted-rio 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 100" assertion.
- get-latest-accepted-bdj 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 rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> prefix bibo: <http://purl.org/ontology/bibo/> select ?np ?label ?firstAuthor ?date where { values ?pubkey { "1162349fdeaf431e71ab55898cb2a425b971d466150c2aa5b3c1beb498045a37" "cfe248c38933693b1ddeb62e17976a4d2396b0c738af5356bfffbe559d1a3de0" "170211c91a70e67992d52c760de3f0052c8c7271bd3c225ef0347245e8517ff6" } graph npa:graph { ?np dct:created ?date . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . ?np rdfs:label ?label . ?np np:hasPublicationInfo ?i . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } } graph ?i { ?np bibo:authorList ?authorList . ?authorList rdf:_1 ?firstAuthor . } } order by desc(?date) limit 100" assertion.
- get-approved-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 rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?creator ?approved_np ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:hasNanopubType npx:approvesOf . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } ?np dct:created ?date . ?np dct:creator ?creator . ?np np:hasAssertion ?a . } graph ?a { ?creator npx:approvesOf ?approved_np . filter(regex(str(?approved_np), '^.*[^A-Za-z0-9-_]RA[A-Za-z0-9-_]{43}$')) } }" assertion.
- get-approved-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 rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> select ?approved_np ?approver ?pubkey ?np ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npx:hasNanopubType npx:approvesOf . filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . } ?np dct:created ?date . ?np dct:creator ?approver . ?np np:hasAssertion ?a . } graph ?a { ?approver npx:approvesOf ?approved_np . filter(regex(str(?approved_np), '^.*[^A-Za-z0-9-_]RA[A-Za-z0-9-_]{43}$')) } }" assertion.
- get-nanopubs-for-pubkeyhash sparql "prefix npa: <http://purl.org/nanopub/admin/> select ?np where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?_pubkeyhash . } }" assertion.
- get-nanopubs-for-pubkey-and-type sparql "prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> select ?np where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?_pubkeyhash . ?np npx:hasNanopubType ?_type_iri . } }" 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 * where { graph npa:graph { ?_np_iri npa:hasValidSignatureForPublicKey ?pubkey . } graph npa:networkGraph { ?newerVersion (npx:supersedes)* ?_np_iri . } graph npa:graph { filter exists { ?newerVersion npa:hasValidSignatureForPublicKey ?pubkey . } ?newerVersion dct:created ?date . optional { ?retractedBy npx:retracts ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?supersededBy npx:supersedes ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } } } 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 . } graph npa:networkGraph { ?newerVersion (npx:supersedes)* ?_np_iri . } graph npa:graph { filter exists { ?newerVersion npa:hasValidSignatureForPublicKey ?pubkey . } ?newerVersion dct:created ?date . optional { ?retractedBy npx:retracts ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } optional { ?supersededBy npx:supersedes ?newerVersion ; npa:hasValidSignatureForPublicKey ?pubkey . } } } order by desc(?date) ?newerVersion" assertion.
- get-news-content 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 schema: <https://schema.org/> select ?body ?np ?user ?date where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np dct:creator ?user . ?np np:hasAssertion ?a . } graph ?a { ?a rdfs:label ?body . values ?_resource_multi_iri {} ?a schema:isPartOf ?_resource_multi_iri . } } order by desc(?date)" assertion.
- get-view-displays 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 gen: <https://w3id.org/kpxl/gen/terms/> select distinct ?display ?view (coalesce(?viewKindOptional, ?view) as ?viewKind) ?label ?displayType ?np ?pubkey ?date where { values ?_resource_multi_iri {} graph npa:graph { ?np npx:hasNanopubType gen:ViewDisplay . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:embeds ?display . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?display gen:isDisplayOfView ?view . ?display gen:isDisplayFor ?_resource_multi_iri . optional { values ?displayType { gen:PartLevelViewDisplay gen:TopLevelViewDisplay } ?display a ?displayType . } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/ec6722efa3b44e0a18aa63afe5964158a1fdb7f0413ea5f23bfddf5c03ca0221> { select ?view ?viewKindOptional { graph npa:graph { ?np npx:hasNanopubType gen:ResourceView . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:embeds ?view . ?np np:hasAssertion ?a . } graph ?a { ?view a gen:ResourceView . ?view dct:isVersionOf ?viewKindOptional . } } } } } order by desc(?date)" assertion.
- find-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 dct: <http://purl.org/dc/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?thing ?label ?description ?np ?pubkey ?date where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:embeds ?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.
- find-embedded-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 dct: <http://purl.org/dc/terms/> prefix search: <http://www.openrdf.org/contrib/lucenesail#> select distinct ?thing ?label ?description ?np ?pubkey ?date where { graph npa:graph { ?np npx:hasNanopubType ?__type_iri . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np npx:embeds ?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-view-displays 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 gen: <https://w3id.org/kpxl/gen/terms/> select distinct ?display ?view (coalesce(?viewKindOptional, ?view) as ?viewKind) ?label ?displayType ?displayMode ?np ?pubkey ?date where { values ?_resource_multi_iri {} graph npa:graph { ?np npx:hasNanopubType gen:ViewDisplay . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:embeds ?display . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } graph ?a { ?display gen:isDisplayOfView ?view . ?display gen:isDisplayFor ?_resource_multi_iri . optional { values ?displayType { gen:PartLevelViewDisplay gen:TopLevelViewDisplay } ?display a ?displayType . } optional { values ?displayMode { gen:ActivatedViewDisplay gen:DeactivatedViewDisplay } ?display a ?displayMode . } } optional { service <https://w3id.org/np/l/nanopub-query-1.1/repo/type/ec6722efa3b44e0a18aa63afe5964158a1fdb7f0413ea5f23bfddf5c03ca0221> { select ?view ?viewKindOptional { graph npa:graph { ?np npx:hasNanopubType gen:ResourceView . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:embeds ?view . ?np np:hasAssertion ?a . } graph ?a { ?view a gen:ResourceView . ?view dct:isVersionOf ?viewKindOptional . } } } } } order by desc(?date)" assertion.
- get-instances-simple sparql "prefix dct: <http://purl.org/dc/terms/> 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 nt: <https://w3id.org/np/o/ntemplate/> select ?instance ?instance_label ?date ?creator ?np where { graph ?g { ?instance a ?_class_iri . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npa:hasGraph ?g . ?np np:hasPublicationInfo ?i . ?np dct:created ?date . optional { ?np npx:signedBy ?creator } } optional { graph ?g { ?instance rdfs:label ?instanceLabel1 . } } optional { graph ?g { ?instance dct:title ?instanceLabel2 . } } optional { graph ?i { ?instance rdfs:label ?instanceLabel3 . } } optional { graph ?i { ?instance nt:hasLabelFromApi ?instanceLabel4 . } } bind(coalesce(?instanceLabel1, ?instanceLabel2, ?instanceLabel3, ?instanceLabel4) as ?instance_label) }" assertion.
- get-instances-simple sparql "prefix dct: <http://purl.org/dc/terms/> 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 nt: <https://w3id.org/np/o/ntemplate/> select ?instance ?instance_label ?date ?np where { graph ?g { ?instance a ?_class_iri . } graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np npa:hasGraph ?g . ?np np:hasPublicationInfo ?i . ?np dct:created ?date . } optional { graph ?g { ?instance rdfs:label ?instanceLabel1 . } } optional { graph ?g { ?instance dct:title ?instanceLabel2 . } } optional { graph ?i { ?instance rdfs:label ?instanceLabel3 . } } optional { graph ?i { ?instance nt:hasLabelFromApi ?instanceLabel4 . } } bind(coalesce(?instanceLabel1, ?instanceLabel2, ?instanceLabel3, ?instanceLabel4) as ?instance_label) } order by desc(?date)" assertion.
- fers_by_type_simple 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 ?resource ?label ?types ?qualifier (group_concat(distinct ?community; separator=" ") as ?communities) ?date ?np 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 ?resource ?resource_label ?description ?date (group_concat(distinct ?type; separator=" ") as ?types) where { graph npa:graph { ?np rdfs:label ?resource_label ; dct:description ?description ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . ?np npx:introduces|npx:describes ?resource . 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 . values ?type { fip:Authentication-and-authorization-service fip:Editor fip:FAIR-Representation-Service fip:FAIR-Supporting-Software fip:Identifier-service fip:Provenance-Tracking-Service fip:Registry fip:Validation-Service fip:Web-API fip:Communication-protocol fip:Crosswalk fip:FAIR-Implementation-Profile fip:Knowledge-representation-language fip:Metadata-schema fip:Metadata-data-linking-schema fip:Provenance-model fip:Semantic-model fip:Structured-vocabulary fip:FAIR-Data-Policy fip:Data-usage-license fip:Metadata-preservation-policy fip:Persistency-Policy fip:FAIR-Practice } 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 ?resource ?resource_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 ?resource . # ---- ?decl fip:declared-by ?community . } } } group by ?np ?resource ?resource_label ?date ?types ?qualifier ?maxscore order by desc(?maxscore)" assertion.
- fers_by_type_simple 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 ?resource ?resource_label ?types ?qualifier (group_concat(distinct ?community; separator=" ") as ?communities) ?date ?np 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 ?resource ?resource_label ?description ?date (group_concat(distinct ?type; separator=" ") as ?types) where { graph npa:graph { ?np rdfs:label ?resource_label ; dct:description ?description ; npa:hasValidSignatureForPublicKey ?pubkey ; dct:created ?date . ?np npx:introduces|npx:describes ?resource . 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 . values ?type { fip:Authentication-and-authorization-service fip:Editor fip:FAIR-Representation-Service fip:FAIR-Supporting-Software fip:Identifier-service fip:Provenance-Tracking-Service fip:Registry fip:Validation-Service fip:Web-API fip:Communication-protocol fip:Crosswalk fip:FAIR-Implementation-Profile fip:Knowledge-representation-language fip:Metadata-schema fip:Metadata-data-linking-schema fip:Provenance-model fip:Semantic-model fip:Structured-vocabulary fip:FAIR-Data-Policy fip:Data-usage-license fip:Metadata-preservation-policy fip:Persistency-Policy fip:FAIR-Practice } 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 ?resource ?resource_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 ?resource . # ---- ?decl fip:declared-by ?community . } } } group by ?np ?resource ?resource_label ?date ?types ?qualifier ?maxscore order by desc(?maxscore)" assertion.
- get-named-individuals-of-ontology-ns sparql "prefix owl: <http://www.w3.org/2002/07/owl#> 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 skos: <http://www.w3.org/2004/02/skos/core#> select distinct ?individual ?individual_label (?definition as ?description) ?np where { values ?_ontology_multi_iri {} graph npa:graph { ?np npx:hasNanopubType owl:NamedIndividual . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?individual . ?np np:hasAssertion ?a . } graph ?a { {{ ?individual a owl:NamedIndividual . filter(strstarts(str(?individual), ?__ontologyNamespace)) } union { ?individual a owl:NamedIndividual . ?individual dct:partOf ?_ontology_multi_iri . }} optional { ?individual rdfs:label ?individual_label . } optional { ?individual skos:definition ?definition . } } } order by ?individual_label" assertion.
- get-read-papers-by-user sparql "prefix pc: <http://purl.org/petapico/o/paperclub#> 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 ?paper ?comment ?np ?date where { graph npa:graph { ?np npx:hasNanopubType pc:hasRead . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:signedBy ?_user_iri . ?np np:hasAssertion ?a . } graph ?a { ?_user_iri pc:hasRead ?paper . optional { ?paper rdfs:comment ?comment . } } } order by desc(?date)" assertion.
- get-planned-event-attendances 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 gen: <https://w3id.org/kpxl/gen/terms/> select ?event ?event_label ?date ?np where { graph npa:graph { ?np npx:hasNanopubType gen:plansToAttend . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:signedBy ?_user_iri . ?np np:hasAssertion ?a . } graph ?a { ?_user_iri gen:plansToAttend ?event . optional { ?event rdfs:label ?event_label } optional { ?event dct:date ?date } } } order by desc(?date)" assertion.
- get-planned-event-attendances 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 gen: <https://w3id.org/kpxl/gen/terms/> select ?event ?event_label ?date ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType gen:plansToAttend . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np npx:signedBy ?_user_iri . ?np np:hasAssertion ?a . } graph ?a { ?_user_iri gen:plansToAttend ?event . optional { ?event rdfs:label ?event_label } optional { ?event dct:date ?date } } } order by desc(?date)" assertion.
- get-messages-about-resource 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 schema: <https://schema.org/> select ?text (group_concat(concat('<span><a href="', str(?link), '">link</a></span>'); separator=", ") as ?link) ?user ?date ?np ("^" as ?np_label) where { graph npa:graph { ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np dct:creator ?user . ?np np:hasAssertion ?a . } graph ?a { ?a rdfs:label ?text . values ?_resource_multi_iri {} ?a schema:about ?_resource_multi_iri . optional { ?a rdfs:seeAlso ?link . } } } group by ?text ?user ?date ?np order by desc(?date)" assertion.
- get-taxontaxon-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 biolink: <https://w3id.org/biolink/vocab/> prefix nt: <https://w3id.org/np/o/ntemplate/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> prefix prov: <http://www.w3.org/ns/prov#> prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> select distinct ?np ?label ?subjtaxonname ?subjtaxonlabel ?rel ?objtaxonname ?objtaxonlabel ?source ?date where { graph npa:graph { ?np npx:hasNanopubType biolink:OrganismTaxonToOrganismTaxonAssociation . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . ?np np:hasProvenance ?p . ?np np:hasPublicationInfo ?i . optional { ?np rdfs:label ?label } } graph ?a { ?association a biolink:OrganismTaxonToOrganismTaxonAssociation . ?association biolink:subject ?subjtaxon . ?subjtaxon biodiv:hasTaxonName ?subjtaxonname . ?association biolink:predicate ?rel . ?association biolink:object ?objtaxon . ?objtaxon biodiv:hasTaxonName ?objtaxonname . } graph <http://purl.org/np/RAVTdAMPj7oOfekUVyIcrXX9HheGa_0QCC5-PK7Di8DPg/assertion> { ?rel rdfs:label ?rellabel . } optional { graph ?p { ?a prov:wasDerivedFrom ?source } } graph ?i { optional { ?subjtaxonname nt:hasLabelFromApi ?subjtaxonlabel . } optional { ?objtaxonname nt:hasLabelFromApi ?objtaxonlabel . } } } order by desc(?date)" assertion.
- get-papers-for-author 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 fabio: <http://purl.org/spar/fabio/> prefix bibo: <http://purl.org/ontology/bibo/> select ?paper ?paper_label ?journal ?journal_label ?publication_date where { values ?_author_multi_iri {} graph npa:graph { ?np npx:hasNanopubType fabio:ScholarlyWork . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . ?np npx:introduces ?paper . } graph ?a { ?paper dct:title ?paper_label . ?paper bibo:authorList ?author_list . ?paper dct:date ?publication_date . ?author_list ?rdfseqpred ?_author_multi_iri . filter(strstarts(str(?rdfseqpred), "http://www.w3.org/1999/02/22-rdf-syntax-ns#_")) optional { ?paper dct:isPartOf ?journal . ?journal dct:title ?journal_label . } } }" assertion.
- get-papers-for-author 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 fabio: <http://purl.org/spar/fabio/> prefix bibo: <http://purl.org/ontology/bibo/> select ?paper ?paper_label ?journal ?journal_label ?publication_date where { values ?_author_multi_iri {} graph npa:graph { ?np npx:hasNanopubType fabio:ScholarlyWork . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . ?np npx:introduces ?paper . } graph ?a { ?paper dct:title ?paper_label . ?paper bibo:authorList ?author_list . ?paper dct:date ?publication_date . ?author_list ?rdfseqpred ?_author_multi_iri . filter(strstarts(str(?rdfseqpred), "http://www.w3.org/1999/02/22-rdf-syntax-ns#_")) optional { ?paper dct:isPartOf ?journal . ?journal dct:title ?journal_label . } } } order by desc(?publication_date)" assertion.
- get-classes-of-ontology-ns sparql "prefix owl: <http://www.w3.org/2002/07/owl#> 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 skos: <http://www.w3.org/2004/02/skos/core#> select distinct ?class ?class_label (?definition as ?description) ?superclass ?np ("^" as ?np_label) where { values ?_ontology_multi_iri {} graph npa:graph { ?np npx:hasNanopubType owl:Class . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?class . ?np np:hasAssertion ?a . } graph ?a { {{ ?class a owl:Class . filter(strstarts(str(?class), ?__ontologyNamespace)) } union { ?class a owl:Class . ?class dct:partOf ?_ontology_multi_iri . }} optional { ?class rdfs:subClassOf ?superclass . } optional { ?class rdfs:label ?class_label . } optional { ?class skos:definition ?definition . } } } order by ?class_label" assertion.
- get-ai-in-edu-approaches 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 ?approach ?approach_label ?class ?reference ?reference_label ?creator ?date ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType <https://w3id.org/spaces/AI-in-education/r/terms/AI-in-Education-approach> . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:signedBy ?creator . ?np np:hasAssertion ?a . ?np npx:introduces ?approach . } graph ?a { ?approach a <https://w3id.org/spaces/AI-in-education/r/terms/AI-in-Education-approach> . optional { ?approach a ?class . filter(?class != <https://w3id.org/spaces/AI-in-education/r/terms/AI-in-Education-approach>) } ?approach rdfs:label ?approach_label . ?approach dct:source ?reference . ?reference rdfs:label ?reference_label . } }" assertion.
- get-urban-organism-associations 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 biolink: <https://w3id.org/biolink/vocab/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> prefix nt: <https://w3id.org/np/o/ntemplate/> select ?relation ?relation_label ?taxon_name ?taxon_name_label ?creator ?date ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType biodiv:OrganismToEnvironmentAssociation . ?np npa:hasValidSignatureForPublicKey ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . } ?np dct:created ?date . ?np dct:creator ?creator . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . optional { ?np rdfs:label ?label } } graph ?a { ?association a biodiv:OrganismToEnvironmentAssociation . ?association biolink:subject ?organism . ?organism a ?taxonConcept . ?taxonConcept biodiv:hasTaxonName ?taxon_name . ?association biolink:predicate ?relation . ?association biolink:object <http://purl.obolibrary.org/obo/ENVO_00000856> . } optional { graph ?i { ?taxon_name nt:hasLabelFromApi ?taxon_name_label . } } optional { graph ?i { ?relation nt:hasLabelFromApi ?relation_label . } } optional { graph ?i { values (?relation ?relation_label) { ( <http://purl.obolibrary.org/obo/RO_0002303> "has habitat" ) } } } } order by desc(?date)" assertion.
- get-spaces-and-roles-for-agent sparql "prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix dct: <http://purl.org/dc/terms/> prefix owl: <http://www.w3.org/2002/07/owl#> prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix gen: <https://w3id.org/kpxl/gen/terms/> prefix schema: <http://schema.org/> select distinct ?space (group_concat(?role; separator=" ") as ?roles) where { values ?_agent_multi_iri {} { { graph npa:graph { ?spaceRole_np npx:hasNanopubType gen:SpaceMemberRole . ?spaceRole_np npa:hasValidSignatureForPublicKeyHash ?spaceRole_pubkey . filter not exists { ?spaceRole_npx npx:invalidates ?spaceRole_np ; npa:hasValidSignatureForPublicKeyHash ?spaceRole_pubkey . } ?spaceRole_np np:hasAssertion ?spaceRole_a . } graph ?spaceRole_a { ?space gen:hasRole ?role . } } union { bind(<https://w3id.org/np/RA_eEJjQbxzSqYSwPzfjzOZi5sMPpUmHskFNsgJYSws8I/adminRole> as ?role) } } graph ?role_a { ?role a gen:SpaceMemberRole . ?role rdfs:label ?roleLabel . ?role dct:title ?roleTitle . ?role schema:name ?roleName . } graph npa:graph { ?role_np npx:embeds ?role . ?role_np np:hasAssertion ?role_a . } { { graph ?role_a { ?role gen:hasRegularProperty ?reg . } graph ?link_a { ?_agent_multi_iri ?reg ?space . } bind(?reg as ?property) bind(false as ?inverse) } union { graph ?role_a { ?role gen:hasInverseProperty ?inv . } graph ?link_a { ?space ?inv ?_agent_multi_iri . } bind(?inv as ?property) bind(true as ?inverse) } } graph npa:graph { ?link_np np:hasAssertion ?link_a . ?link_np npa:hasValidSignatureForPublicKeyHash ?link_pubkey . filter not exists { ?link_npx npx:invalidates ?link_np ; npa:hasValidSignatureForPublicKeyHash ?link_pubkey . } ?link_np dct:created ?link_date . } } group by ?space order by ?space" assertion.
- get-spaces-for-agent sparql "prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix dct: <http://purl.org/dc/terms/> prefix owl: <http://www.w3.org/2002/07/owl#> prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix gen: <https://w3id.org/kpxl/gen/terms/> prefix schema: <http://schema.org/> select distinct ?space where { values ?_agent_multi_iri {} { { graph npa:graph { ?spaceRole_np npx:hasNanopubType gen:SpaceMemberRole . ?spaceRole_np npa:hasValidSignatureForPublicKeyHash ?spaceRole_pubkey . filter not exists { ?spaceRole_npx npx:invalidates ?spaceRole_np ; npa:hasValidSignatureForPublicKeyHash ?spaceRole_pubkey . } ?spaceRole_np np:hasAssertion ?spaceRole_a . } graph ?spaceRole_a { ?space gen:hasRole ?role . } } union { bind(<https://w3id.org/np/RA_eEJjQbxzSqYSwPzfjzOZi5sMPpUmHskFNsgJYSws8I/adminRole> as ?role) } } graph ?role_a { ?role a gen:SpaceMemberRole . ?role rdfs:label ?roleLabel . ?role dct:title ?roleTitle . ?role schema:name ?roleName . } graph npa:graph { ?role_np npx:embeds ?role . ?role_np np:hasAssertion ?role_a . } { { graph ?role_a { ?role gen:hasRegularProperty ?reg . } graph ?link_a { ?_agent_multi_iri ?reg ?space . } bind(?reg as ?property) bind(false as ?inverse) } union { graph ?role_a { ?role gen:hasInverseProperty ?inv . } graph ?link_a { ?space ?inv ?_agent_multi_iri . } bind(?inv as ?property) bind(true as ?inverse) } } graph npa:graph { ?link_np np:hasAssertion ?link_a . ?link_np npa:hasValidSignatureForPublicKeyHash ?link_pubkey . filter not exists { ?link_npx npx:invalidates ?link_np ; npa:hasValidSignatureForPublicKeyHash ?link_pubkey . } ?link_np dct:created ?link_date . } } order by desc(?link_date)" assertion.
- get-classes-of-ontology-ns sparql "prefix owl: <http://www.w3.org/2002/07/owl#> 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 skos: <http://www.w3.org/2004/02/skos/core#> select distinct ?class ?class_label (?definition as ?description) ?np ("^" as ?np_label) where { values ?_ontology_multi_iri {} graph npa:graph { ?np npx:hasNanopubType owl:Class . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?class . ?np np:hasAssertion ?a . } graph ?a { {{ ?class a owl:Class . filter(strstarts(str(?class), ?__ontologyNamespace)) } union { ?class a owl:Class . ?class dct:partOf ?_ontology_multi_iri . }} optional { ?class rdfs:subClassOf ?superclass . } optional { ?class rdfs:label ?class_label . } optional { ?class skos:definition ?definition . } } } order by ?class_label" assertion.
- get-filtered-nanopub-list 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 (group_concat(distinct ?t; separator=' ') as ?types) (?__np_pubkeys_multi as ?pubkey) where { graph npa:graph { values ?__np_pubkeys_multi {} ?np npa:hasValidSignatureForPublicKeyHash ?__np_pubkeys_multi . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?__np_pubkeys_multi . } values ?__types_multi_iri {} ?np npx:hasNanopubType ?__types_multi_iri . ?np npx:hasNanopubType ?t . ?np dct:created ?date . bind(coalesce(?__np_endtime, "9999") as ?endtime) filter(?endtime > str(?date)) bind(coalesce(?__np_starttime, "0000") as ?starttime) filter(?starttime < str(?date)) optional { ?np rdfs:label ?label } } } group by ?np ?label ?date ?__np_pubkeys_multi order by desc(?date) limit 100" assertion.
- get-weekly-active-user-count sparql "prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix xsd: <http://www.w3.org/2001/XMLSchema#> prefix dct: <http://purl.org/dc/terms/> prefix prov: <http://www.w3.org/ns/prov#> prefix foaf: <http://xmlns.com/foaf/0.1/> select ?approxweek (substr(str(min(?date)), 0, 11) as ?firstday) (count(distinct ?userid) as ?usercount) where { { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np dct:creator ?userid . ?np dct:created ?date . } } union { graph npa:graph { ?np npa:hasValidSignatureForPublicKey ?pubkey . ?np np:hasAssertion ?assertion . ?np np:hasProvenance ?prov . ?np dct:created ?date . ?np dct:creator ?tool . values ?tool { <https://fip-wizard.ds-wizard.org/wizard> } } graph ?prov { ?assertion prov:wasAttributedTo ?userid . } } filter not exists { graph npa:graph { ?np npa:hasSubIri ?userid . } } bind(xsd:integer((year(?date)*365 + month(?date)*365/12 + day(?date)) / 7) as ?approxweek) } group by ?approxweek order by desc(?approxweek)" assertion.
- get-relevant-resources 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 gen: <https://w3id.org/kpxl/gen/terms/> select ?resource ?resource_label ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType gen:isRelevantFor . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np np:hasAssertion ?a . optional { ?np rdfs:label ?label } } values ?_entity_multi_iri {} graph ?a { ?resource gen:isRelevantFor ?_entity_multi_iri . optional { ?resource rdfs:label ?resource_label . } } }" assertion.
- get-environments-for-taxon 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 biolink: <https://w3id.org/biolink/vocab/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> prefix nt: <https://w3id.org/np/o/ntemplate/> select distinct ?relation ?relation_label ?environment ?environment_label ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType biolink:OrganismTaxonToEnvironmentAssociation . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?association . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . } graph ?a { ?association a biolink:OrganismTaxonToEnvironmentAssociation . ?association biolink:subject ?taxonConcept . ?taxonConcept biodiv:hasTaxonName ?_taxonname_iri . ?association biolink:predicate ?relation . ?association biolink:object ?environment . } optional { graph ?i { ?relation nt:hasLabelFromApi ?relation_label } } optional { graph ?i { ?environment nt:hasLabelFromApi ?environment_label } } }" assertion.
- get-environments-for-taxon 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 biolink: <https://w3id.org/biolink/vocab/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> prefix nt: <https://w3id.org/np/o/ntemplate/> select distinct ?relation ?relation_label ?environment ?environment_label ?creator ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType biolink:OrganismTaxonToEnvironmentAssociation . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?association . ?np np:hasAssertion ?a . ?np np:hasPublicationInfo ?i . ?np npx:signedBy ?creator . } graph ?a { ?association a biolink:OrganismTaxonToEnvironmentAssociation . ?association biolink:subject ?taxonConcept . ?taxonConcept biodiv:hasTaxonName ?_taxonname_iri . ?association biolink:predicate ?relation . ?association biolink:object ?environment . } optional { graph ?i { ?relation nt:hasLabelFromApi ?relation_label } } optional { graph ?i { ?environment nt:hasLabelFromApi ?environment_label } } }" assertion.
- get-environments-for-taxon 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 biolink: <https://w3id.org/biolink/vocab/> prefix biodiv: <https://w3id.org/kpxl/biodiv/terms/> prefix nt: <https://w3id.org/np/o/ntemplate/> select distinct ?relation ?relation_label ?environment ?environment_label ?source ?creator ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType biolink:OrganismTaxonToEnvironmentAssociation . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:introduces ?association . ?np np:hasAssertion ?a . ?np np:hasProvenance ?p . ?np np:hasPublicationInfo ?i . ?np npx:signedBy ?creator . } graph ?a { ?association a biolink:OrganismTaxonToEnvironmentAssociation . ?association biolink:subject ?taxonConcept . ?taxonConcept biodiv:hasTaxonName ?_taxonname_iri . ?association biolink:predicate ?relation . ?association biolink:object ?environment . } optional { graph ?p { ?a dct:source ?source } } optional { graph ?i { ?relation nt:hasLabelFromApi ?relation_label } } optional { graph ?i { ?environment nt:hasLabelFromApi ?environment_label } } }" assertion.
- get-uncertainty-estimates 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 mac: <https://w3id.org/spaces/mac/r/ontology/> select ?dataset ?mz_estimate ?rt_estimate ?i_estimate ?uncertainty_model ?creator ?date ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType mac:uncertainty_model . ?np npa:hasValidSignatureForPublicKeyHash ?pubkey . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pubkey . } ?np dct:created ?date . ?np npx:signedBy ?creator . ?np np:hasAssertion ?a . } graph ?a { ?dataset mac:has_mz_uncertainty_estimate ?mz_estimate . ?dataset mac:has_RT_uncertainty_estimate ?rt_estimate . ?dataset mac:has_I_uncertainty_estimate ?i_estimate . ?a dct:conformsTo ?uncertainty_model . } } order by desc(?date)" assertion.
- get-3pff-events-for-user 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 tpff: <https://w3id.org/fair/3pff/> prefix schema: <http://schema.org/> select ?event ?event_label (sample(?ev_name) as ?event_name) (sample(?ev_date) as ?event_date) ?roles_multi_iri ?roles_label_multi ?nps_multi_iri ?nps_label_multi where { { select ?event (replace(str(?event), "^.*/", "") as ?event_label) (group_concat(str(?role); separator=" ") as ?roles_multi_iri) (group_concat(?role_label; separator="\n") as ?roles_label_multi) (group_concat(str(?latest_np); separator=" ") as ?nps_multi_iri) (group_concat("^"; separator="\n") as ?nps_label_multi) where { { select ?event ?role ?role_label (sample(?np) as ?latest_np) where { values (?role ?role_label) { (tpff:participatedAsParticipantIn "Participant") (tpff:participatedAsFacilitatorIn "Facilitator") (tpff:participatedAsTrainerIn "Trainer") (tpff:participatedAsFacilitatorAssistantIn "Facilitator Assistant") (tpff:participatedAsTrainerAssistantIn "Trainer Assistant") (tpff:participatedAsImplementerIn "Implementer") (tpff:participatedAsImplementerAspirantIn "Implementer Aspirant") } graph npa:graph { ?np npx:hasNanopubType ?role . ?np dct:creator ?_user_iri . ?np npa:hasValidSignatureForPublicKeyHash ?pk . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . } ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?_user_iri ?role ?event . } filter not exists { graph npa:graph { ?np2 npx:hasNanopubType ?role . ?np2 dct:creator ?_user_iri . ?np2 npa:hasValidSignatureForPublicKeyHash ?pk2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pk2 . } ?np2 np:hasAssertion ?a2 . ?np2 dct:created ?date2 . filter(?date2 > ?date) } graph ?a2 { ?_user_iri ?role ?event . } } } group by ?event ?role ?role_label } } group by ?event } optional { graph npa:graph { ?enp npx:introduces ?event . ?enp npa:hasValidSignatureForPublicKeyHash ?epk . filter not exists { ?enpx npx:invalidates ?enp ; npa:hasValidSignatureForPublicKeyHash ?epk . } ?enp np:hasAssertion ?ea . } graph ?ea { ?event rdfs:label ?ename . optional { ?event dct:date ?dateDct . } optional { ?event schema:startDate ?dateSchema . } } } bind(coalesce(?dateDct, strBefore(str(?dateSchema), "T")) as ?ev_date) bind(replace(?ename, "^[^|]*\\| ?", "") as ?ev_name) } group by ?event ?event_label ?roles_multi_iri ?roles_label_multi ?nps_multi_iri ?nps_label_multi order by desc(sample(?ev_date))" assertion.
- get-3pff-events-for-user 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 tpff: <https://w3id.org/fair/3pff/> prefix schema: <http://schema.org/> select ?event ?event_label (sample(?ev_name) as ?event_name) (sample(?ev_date) as ?event_date) ?roles_multi_iri ?roles_label_multi ?nps_multi_iri ?nps_label_multi where { { select ?event (replace(str(?event), "^.*/", "") as ?event_label) (group_concat(str(?role); separator=" ") as ?roles_multi_iri) (group_concat(?role_label; separator="\n") as ?roles_label_multi) (group_concat(str(?latest_np); separator=" ") as ?nps_multi_iri) (group_concat("^"; separator="\n") as ?nps_label_multi) where { { select ?event ?role ?role_label (sample(?np) as ?latest_np) where { values (?role ?role_label) { (tpff:participatedAsParticipantIn "Participant") (tpff:participatedAsFacilitatorIn "Facilitator") (tpff:participatedAsTrainerIn "Trainer") (tpff:participatedAsFacilitatorAssistantIn "Facilitator Assistant") (tpff:participatedAsTrainerAssistantIn "Trainer Assistant") (tpff:participatedAsImplementerIn "Implementer") (tpff:participatedAsImplementerAspirantIn "Implementer Aspirant") } graph npa:graph { ?np npx:hasNanopubType ?role . ?np dct:creator ?_user_iri . ?np npa:hasValidSignatureForPublicKeyHash ?pk . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . } ?np np:hasAssertion ?a . ?np dct:created ?date . } graph ?a { ?_user_iri ?role ?event . } filter not exists { graph npa:graph { ?np2 npx:hasNanopubType ?role . ?np2 dct:creator ?_user_iri . ?np2 npa:hasValidSignatureForPublicKeyHash ?pk2 . filter not exists { ?npx2 npx:invalidates ?np2 ; npa:hasValidSignatureForPublicKeyHash ?pk2 . } ?np2 np:hasAssertion ?a2 . ?np2 dct:created ?date2 . filter(?date2 > ?date) } graph ?a2 { ?_user_iri ?role ?event . } } } group by ?event ?role ?role_label } } group by ?event } graph npa:graph { ?enp npx:introduces ?event . ?enp npa:hasValidSignatureForPublicKeyHash ?epk . filter not exists { ?enpx npx:invalidates ?enp ; npa:hasValidSignatureForPublicKeyHash ?epk . } ?enp np:hasAssertion ?ea . } graph ?ea { ?event a tpff:3PFF-event . ?event rdfs:label ?ename . optional { ?event dct:date ?dateDct . } optional { ?event schema:startDate ?dateSchema . } } bind(coalesce(?dateDct, strBefore(str(?dateSchema), "T")) as ?ev_date) bind(replace(?ename, "^[^|]*\\| ?", "") as ?ev_name) } group by ?event ?event_label ?roles_multi_iri ?roles_label_multi ?nps_multi_iri ?nps_label_multi order by desc(sample(?ev_date))" assertion.
- get-3pff-qualifications-for-user 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 tpff: <https://w3id.org/fair/3pff/> prefix schema: <https://schema.org/> prefix dcat: <https://www.w3.org/ns/dcat#> select ?qualification ?qualification_label ?issuer ?startDate ?endDate ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType tpff:3PFF-Qualification . ?np npa:hasValidSignatureForPublicKeyHash ?pk . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . } ?np np:hasAssertion ?a . } graph ?a { ?np tpff:issued-to ?_user_iri . ?np npx:qualifies ?qualification . optional { ?np schema:issuedBy ?issuer . } optional { ?np dcat:startDate ?startDate . } optional { ?np dcat:endDate ?endDate . } } bind(replace(str(?qualification), "^.*/", "") as ?qualification_label) } order by desc(?startDate)" assertion.
- get-3pff-qualifications-for-user 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 tpff: <https://w3id.org/fair/3pff/> prefix schema: <https://schema.org/> prefix dcat: <https://www.w3.org/ns/dcat#> select ?qualification ?qualification_label ?issuer ?issuer_label ?startDate ?endDate ?np ("^" as ?np_label) where { graph npa:graph { ?np npx:hasNanopubType tpff:3PFF-Qualification . ?np npa:hasValidSignatureForPublicKeyHash ?pk . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . } ?np np:hasAssertion ?a . } graph ?a { ?np tpff:issued-to ?_user_iri . ?np npx:qualifies ?qualification . optional { ?np schema:issuedBy ?issuer . } optional { ?np dcat:startDate ?startDate . } optional { ?np dcat:endDate ?endDate . } } bind(replace(str(?qualification), "^.*/", "") as ?qualification_label) bind(if(?issuer = <https://ror.org/056j50v04>, "GO FAIR Foundation", replace(str(?issuer), "^.*/", "")) as ?issuer_label) } order by desc(?startDate)" assertion.
- get-3pff-event-participation-stats 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 tpff: <https://w3id.org/fair/3pff/> prefix schema: <http://schema.org/> select ?event ?event_label (sample(?ev_name) as ?event_name) (sample(?ev_date) as ?event_date) (sum(if(?role = tpff:participatedAsParticipantIn, 1, 0)) as ?Participants) (sum(if(?role = tpff:participatedAsFacilitatorIn, 1, 0)) as ?Facilitators) (sum(if(?role = tpff:participatedAsTrainerIn, 1, 0)) as ?Trainers) (sum(if(?role = tpff:participatedAsFacilitatorAssistantIn, 1, 0)) as ?Facilitator_Assistants) (sum(if(?role = tpff:participatedAsTrainerAssistantIn, 1, 0)) as ?Trainer_Assistants) (sum(if(?role = tpff:participatedAsImplementerIn, 1, 0)) as ?Implementers) (sum(if(?role = tpff:participatedAsImplementerAspirantIn, 1, 0)) as ?Implementer_Aspirants) where { { select distinct ?event ?role ?user where { values ?role { tpff:participatedAsParticipantIn tpff:participatedAsFacilitatorIn tpff:participatedAsTrainerIn tpff:participatedAsFacilitatorAssistantIn tpff:participatedAsTrainerAssistantIn tpff:participatedAsImplementerIn tpff:participatedAsImplementerAspirantIn } graph npa:graph { ?np npx:hasNanopubType ?role . ?np npa:hasValidSignatureForPublicKeyHash ?pk . filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk . } ?np np:hasAssertion ?a . } graph ?a { ?user ?role ?event . } } } graph npa:graph { ?enp npx:introduces ?event . ?enp npa:hasValidSignatureForPublicKeyHash ?epk . filter not exists { ?enpx npx:invalidates ?enp ; npa:hasValidSignatureForPublicKeyHash ?epk . } ?enp np:hasAssertion ?ea . } graph ?ea { ?event a tpff:3PFF-event . ?event rdfs:label ?ename . optional { ?event dct:date ?dateDct . } optional { ?event schema:startDate ?dateSchema . } } bind(replace(str(?event), "^.*/", "") as ?event_label) bind(coalesce(?dateDct, strBefore(str(?dateSchema), "T")) as ?ev_date) bind(replace(?ename, "^[^|]*\\| ?", "") as ?ev_name) } group by ?event ?event_label order by desc(sample(?ev_date))" assertion.