This query returns the most popular FAIR Supporting Resources (FSRs) for a given research domain, based on the current FIP declarations of the FAIR Implementation Communities in that domain (including its subdomains), for a specific FIP Question (e.g. F1-D, I3-MD). For each FSR it shows the declaring communities (by the short name of their identifier), the FIP questions it was declared under, the matched (sub)domains, and the number of distinct declaring communities. This query is based on the query used for the 'Most used FSRs' resource view shown on domain part pages of the fair connect space.
Get popular FSRs for domain and FIP-Question
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) (group_concat(distinct str(?community); separator=" ") as ?communities_multi_iri) (group_concat(distinct replace(str(?community), "^.*[#/]", ""); separator="\n") as ?communities_label_multi) (group_concat(distinct ?qcode; separator=", ") as ?questions) (group_concat(distinct str(?subdomain); separator=" ") as ?subdomains_multi_iri) (group_concat(distinct replace(str(?subdomain), "^.*[#/]", ""); separator="\n") as ?subdomains_label_multi) (count(distinct ?community) as ?count) (min(?fsrnp_x) as ?np) (min("^") as ?np_label) where { { select distinct ?community ?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 ; fip:has-research-domain ?subdomain . } graph <http://purl.org/np/RArRAOwj4QOppEPCR8WVvOBmrX7oRKOrPi-asX-7AY66I#assertion> { # Directly applying the ?_domain parameter as a single IRI ?subdomain rdfs:subClassOf* ?_domain . } } } 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 . } } 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 ; # Directly applying the ?_fip_question parameter as a single IRI fip:refers-to-question ?_fip_question ; (fip:declares-current-use-of|fip:declares-planned-use-of) ?fsr . } # Preserving ?qcode generation strictly for consistent output in the SELECT clause bind(replace(str(?_fip_question), "^.*-([^-MD]+(-[MD]+)?)$", "$1") as ?qcode) 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 . } } } filter( bound(?fsrnp_x) || not exists { graph npa:graph { ?onp npx:introduces|npx:describes ?fsr . } } ) } group by ?fsr order by desc(?count)