This query returns the most popular FAIR Supporting Resources (FSRs) for a given research domain, based on the FIP declarations of the FAIR Implementation Communities in that domain (including its subdomains). Only declarations belonging to a current (non-invalidated) FIP declaration index are counted, so declarations from superseded FIP versions are excluded. The optional question parameter restricts the results to declarations referring to a specific FIP question (e.g. https://w3id.org/fair/fip/terms/FIP-Question-F4-MD). Results are ordered by the number of distinct declaring communities.
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> prefix np: <http://www.nanopub.org/nschema#> prefix npa: <http://purl.org/nanopub/admin/> prefix npx: <http://purl.org/nanopub/x/> prefix dct: <http://purl.org/dc/terms/> prefix fip: <https://w3id.org/fair/fip/terms/> select ?fsr (min(?fsr_label_x) as ?fsr_label) (min(?fsrnp_x) as ?fsrnp) (group_concat(distinct ?community_label; separator=", ") as ?communities) (group_concat(distinct str(?subdomain); separator=" ") as ?subdomains) (count(distinct ?community) as ?count) where { { select distinct ?community ?community_label ?subdomain where { graph npa:graph { ?cnp npa:hasValidSignatureForPublicKey ?cpubkey ; npx:hasNanopubType fip:FAIR-Implementation-Community ; np:hasAssertion ?ca . ?cnp npx:introduces|npx:describes ?community . filter not exists { ?cnp npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?cnpx npx:invalidates ?cnp ; npa:hasValidSignatureForPublicKey ?cpubkey . } } graph ?ca { ?community a fip:FAIR-Implementation-Community ; rdfs:label ?community_label ; fip:has-research-domain ?subdomain . } graph <http://purl.org/np/RArRAOwj4QOppEPCR8WVvOBmrX7oRKOrPi-asX-7AY66I#assertion> { ?subdomain rdfs:subClassOf* ?_domain_iri . } } } # current FIP of the community -> its declaration index (must not be invalidated) graph ?fa { ?fip fip:declared-by ?community ; fip:has-declaration-index ?index . } graph npa:graph { ?fipnp np:hasAssertion ?fa ; npx:hasNanopubType fip:FAIR-Implementation-Profile ; npa:hasValidSignatureForPublicKey ?fippubkey . filter not exists { ?fipnp npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?fipnpx npx:invalidates ?fipnp ; npa:hasValidSignatureForPublicKey ?fippubkey . } ?index npa:hasValidSignatureForPublicKey ?ipubkey . filter not exists { ?indexx npx:invalidates ?index ; npa:hasValidSignatureForPublicKey ?ipubkey . } } # declarations listed in that index graph npa:networkGraph { ?index npx:includesElement ?dnp . } graph npa:graph { ?dnp npx:hasNanopubType fip:FIP-Declaration ; np:hasAssertion ?da . } graph ?da { ?decl fip:declared-by ?community ; fip:refers-to-question ?__question_iri ; (fip:declares-current-use-of|fip:declares-planned-use-of) ?fsr . } optional { graph npa:graph { ?fsrnp_x npx:introduces|npx:describes ?fsr ; rdfs:label ?fsr_label_x ; npa:hasValidSignatureForPublicKey ?fpubkey . filter not exists { ?fsrnp_x npx:hasNanopubType npx:ExampleNanopub . } filter not exists { ?fsrnpx npx:invalidates ?fsrnp_x ; npa:hasValidSignatureForPublicKey ?fpubkey . } } } # drop FSR ids whose introducing nanopub(s) were all retracted/superseded filter( bound(?fsrnp_x) || not exists { graph npa:graph { ?onp npx:introduces|npx:describes ?fsr . } } ) } group by ?fsr order by desc(?count)