[ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck", "http://purl.org/dc/terms/created": [ { "@value": "2026-11-04T10:25:12Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://w3id.org/np/RAlgF8um78nQxxJhJTNMZ3tpWJOntfTULJWMWr5Fmo4zU/fairimpl-bot" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/embeds": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/get-fsr-communities" } ], "http://purl.org/nanopub/x/supersedes": [ { "@id": "https://w3id.org/np/RAKJ7RKYJS_iB-RulQnO-CKn7xp2oWbU23jmZv_xvYNH0" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get the communities using an FSR" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" }, { "@id": "https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } ] }, { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZAkv4Mu1YSUxQMriBnhYunqosX5wpuQ3FjUyzW8wTC51wjCmhsChyhS+mCx7Od+2MTDpdhxDWA+pH1r9AX508X2rIY/sbpMS+pd56e0qKPQ0t4folln1TgamPN9iOlY/yLc2x27AdipWIGXUdtL2iAcb+P/Y5dQS2AkHMS3lP2e5JBL5/bD/10qvTLKvdsqIKts8qjuLpxr9CFbsS2gLjMkXL5D2IsJ0cL5sgmIfS1inLVxIfXrS/OgqYNFqeNznUYCVWfo0g7DKjnjiICz3omeQeJFLYwlJ6PhUhYDQS6O318DGwUCwhnuXbBbwL9evZa2I/0Pwu5xpZdNLYJ5UwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "k9Zbu41PKlB27GAyt7lkO7Vtla1TUT1IHmCv9LOFYKbOPpSKIlo0Z/fRDGVuYDxzB3jVtQVJ0xRHM6oKMvRz5DgHHfJN2ZJZ8PDPsj0zLVTqtLAsyN8a+R3jTRKEtXuVNTjb7oW6ZG6kn/pZ4d+m6DM2MFlYjYCNVCTVbiuNvQmMn+Gk2y5xmyEj6Cl6hz6Ax7vJ9bNJzgFvZqYSGZ73MhAmEKGxTg6nlIaLz7LIzEds7mpHJXcH5PsPsuhgF/xzv/FPebBesvfeW51udbqGtJAhBc8slJoH0b81WNL8daWSWjWrMlc7v7n7qxRvXLWqlly2GFnSjdvUuI30Z0DasQ==" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://w3id.org/np/RAlgF8um78nQxxJhJTNMZ3tpWJOntfTULJWMWr5Fmo4zU/fairimpl-bot" } ] } ] }, { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/Head", "@graph": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAA5q9yjYkgKw3cSZlAQo-h6ozMe5F7N1cryfKEY68Wck/get-fsr-communities", "http://purl.org/dc/terms/description": [ { "@value": "For a FAIR Supporting Resource (FSR), lists the FAIR Implementation Communities whose FIP declarations refer to it -- one row per community, showing the community name as a link and nothing else. The earlier version put the declaration details (type, questions, FAIR principles, kind of use, declaration count) in the same table, which made it hard to read off simply who uses the resource. Community names are taken from the current community nanopublication, falling back to a label from any earlier version and finally to the identifier fragment, so that a community whose description nanopublication has been superseded still shows a name rather than a bare URI; four of the seventy-four communities of the DOI resource were affected. Ordered by name, case-insensitively. The community column is projected as community_noheader so that the table renders the names without a column header, the panel title alone saying what the list is. A community whose newest nanopublication a GO FAIR Foundation curator has disapproved of (npx:disapprovesOf, signed with a key from the curators list and not invalidated) is left out, as in the FAIR Communities list." } ], "http://purl.org/dc/terms/license": [ { "@id": "http://www.apache.org/licenses/LICENSE-2.0" } ], "@type": [ "https://w3id.org/kpxl/grlc/grlc-query" ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Get the communities using an FSR" } ], "https://w3id.org/kpxl/grlc/endpoint": [ { "@id": "https://w3id.org/np/l/nanopub-query-1.1/repo/full" } ], "https://w3id.org/kpxl/grlc/sparql": [ { "@value": "prefix rdf: \nprefix rdfs: \nprefix np: \nprefix npa: \nprefix npx: \nprefix xsd: \nprefix dct: \nprefix owl: \nprefix foaf: \nprefix prov: \nprefix skos: \nprefix schema: \nprefix gen: \nprefix fip: \nprefix tpff: \nprefix search: \n\nselect (?community as ?community_noheader)\n (coalesce(min(?preferred_label), min(?any_label), min(?fallback_label)) as ?community_label)\n (min(?cnp) as ?np) (\"^\" as ?np_label)\nwhere {\n graph npa:graph {\n ?dnp npx:hasNanopubType fip:FIP-Declaration ; np:hasAssertion ?da ; npa:hasValidSignatureForPublicKey ?dpk .\n filter not exists { ?dx npx:invalidates ?dnp ; npa:hasValidSignatureForPublicKey ?dpk . }\n }\n graph ?da {\n ?decl a fip:FIP-Declaration ; fip:declared-by ?community .\n { ?decl fip:declares-current-use-of ?_fsr_iri }\n union { ?decl fip:declares-planned-use-of ?_fsr_iri }\n union { ?decl fip:declares-planned-replacement-of ?_fsr_iri }\n union { ?decl fip:declares-replacement-from ?_fsr_iri }\n union { ?decl fip:declares-replacement-to ?_fsr_iri }\n }\n # Left out when the newest nanopublication of the community is curator-disapproved, as in the FAIR Communities list.\n minus { { select distinct ?community where {\n { select ?curators_a where {\n graph npa:graph {\n npa:hasValidSignatureForPublicKey ?curators_pk .\n ?curators_np npa:hasValidSignatureForPublicKey ?curators_pk ; np:hasAssertion ?curators_a .\n filter not exists { ?curators_x npx:invalidates ?curators_np ; npa:hasValidSignatureForPublicKey ?curators_pk . }\n }\n graph npa:networkGraph {\n ?curators_np (npx:supersedes)* .\n filter not exists { ?curators_y npx:supersedes ?curators_np }\n }\n } }\n graph ?dac { ?disapproverc npx:disapprovesOf ?ndc . }\n graph npa:graph { ?dnpc np:hasAssertion ?dac ; npa:hasValidSignatureForPublicKey ?dpkc . filter not exists { ?dxc npx:invalidates ?dnpc ; npa:hasValidSignatureForPublicKey ?dpkc . } }\n graph ?curators_a { ?dkc npx:hasPublicKey ?dpkc . }\n graph npa:graph {\n ?ndc npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces ?community ; npa:hasValidSignatureForPublicKey ?ndpkc ; dct:created ?nddc .\n filter not exists { ?ndxc npx:invalidates ?ndc ; npa:hasValidSignatureForPublicKey ?ndpkc . }\n filter not exists { ?ndc npx:hasNanopubType npx:ExampleNanopub . }\n filter not exists {\n ?nnc npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces ?community ; npa:hasValidSignatureForPublicKey ?nnpkc ; dct:created ?nndc .\n filter(?nndc > ?nddc)\n filter not exists { ?nnxc npx:invalidates ?nnc ; npa:hasValidSignatureForPublicKey ?nnpkc . }\n filter not exists { ?nnc npx:hasNanopubType npx:ExampleNanopub . }\n }\n }\n } } }\n bind(replace(replace(str(?community), \"^.*[/#]\", \"\"), \"-\", \" \") as ?fallback_label)\n # Preferred: the label from a current (non-invalidated) community nanopublication.\n optional {\n graph npa:graph {\n ?cnp npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces|npx:describes ?community ;\n np:hasAssertion ?ca ; npa:hasValidSignatureForPublicKey ?cpk .\n filter not exists { ?cx npx:invalidates ?cnp ; npa:hasValidSignatureForPublicKey ?cpk . }\n }\n graph ?ca { ?community rdfs:label ?preferred_label }\n }\n # Fallback: a label from any community nanopublication, so that communities whose\n # description nanopublication has been superseded still show a name, not a bare URI.\n optional {\n graph npa:graph { ?anp npx:introduces|npx:describes ?community ; np:hasAssertion ?aa . }\n graph ?aa { ?community rdfs:label ?any_label }\n }\n} group by ?community\norder by lcase(str(coalesce(min(?preferred_label), min(?any_label), min(?fallback_label))))\n" } ] } ] } ]