[ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-0319-6542", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Dario Bijker" } ] }, { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw", "http://purl.org/dc/terms/created": [ { "@value": "2026-08-20T11:52:12.628Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-0319-6542" }, { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/publicdomain/zero/1.0/" } ], "http://purl.org/nanopub/x/embeds": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/find-gofair-qualified-things-valid" } ], "http://purl.org/nanopub/x/supersedes": [ { "@id": "https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk" } ], "http://purl.org/nanopub/x/wasCreatedAt": [ { "@id": "https://nanodash.knowledgepixels.com/" } ], "http://www.w3.org/ns/prov#wasDerivedFrom": [ { "@id": "https://w3id.org/np/RA9rho2HHeT5zl2z7dk6ntdzCE3CWYHfdqdg10dCk5kJc" }, { "@id": "https://w3id.org/np/RAQjW2MXoE9fSzp5dLH2l5VrcDBNJSeaMvsjHINp-FaAM" }, { "@id": "https://w3id.org/np/RAbagGprLwYUsKq1Ae6mqRqzsXQI3jx8K6I4zPwPUy7V0" } ], "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/RAMEgudZsQ1bh1fZhfYnkthqH6YSXpghSE_DEN1I-6eAI" }, { "@id": "https://w3id.org/np/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ" }, { "@id": "https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw" }, { "@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/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfUo0FLu1y2EeueL40lqkVdm9fTJa6WhF6MhyjhKAagbuaWe1wwyk453ot8KAQ3aHtL3B8Ze/aLf+wHrBhS0nz4wS6urc8ksIzlLCoa9KIfa0JuQunBLFptV0U9fTR8kDlPoB+klNrUfzeCXmkdgnnUiiwBoN+j1eN87XMSHKI3wIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "C1cq4uCypKGHs5RdAkyD0OaqjSUZJfNP829+VPJy37y0W3V9XUhqEwau1NDqBMRR8Cl1yvnHZv6JUVy2cMWWBxv2lRcoMdt3gkHyOOyInmZqLlWNU9yRmBXkgLyIFrfwf8jItfnGPBVuzEKnS4bb3VR2jr5FuZonQrDYcCbL4Wk=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-0319-6542" } ] } ] }, { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/find-gofair-qualified-things-valid", "http://purl.org/dc/terms/description": [ { "@value": "This query allows for searching for resources (FERs etc.) together with the info about whether GO FAIR qualified them. It performs a Lucene full-text search on labels and descriptions, restricted to FAIR Enabling Resource and FAIR Specification types (optionally narrowed to a single given nanopub type), and excludes retracted/superseded nanopublications, example nanopublications, entries from before 2022, and entries disapproved by the curators. This version merges the functions of the earlier 'Search on FAIR Specifications' and 'FSR lookup' queries, and includes new FSR types introduced in august 2026. It is also used to find Digital Object Types (these are ignored if not specifically requested)." } ], "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": "Find GO FAIR qualified things (only valid entries)" } ], "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 rdfs: \r\nprefix np: \r\nprefix npa: \r\nprefix npx: \r\nprefix xsd: \r\nprefix dct: \r\nprefix fip: \r\nprefix prov: \r\n\r\nselect distinct ?thing ?label ?description ?np ?date ?pubkey ?qualifier ?qualification_np (group_concat(distinct ?recommender; separator=\" \") as ?recommenders) (group_concat(distinct ?recommendation_np; separator=\" \") as ?recommendation_nps) (count(distinct ?recommender) as ?recommender_count) (sample(?fairAssessmentLevel) as ?fairAssessmentLevel) (sample(?fairAssessmentLevelNp) as ?fairAssessmentLevelNp) where {\r\n graph npa:graph {\r\n npa:hasValidSignatureForPublicKey ?curators_np_pk .\r\n ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk .\r\n filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . }\r\n ?latest_curators_np np:hasAssertion ?latest_curators_assertion .\r\n }\r\n graph npa:networkGraph {\r\n ?latest_curators_np (npx:supersedes)* .\r\n filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np }\r\n }\r\n \r\n graph npa:graph {\r\n ?np npx:hasNanopubType ?type_iri .\r\n \r\n # Map the optional input to a standard variable.\r\n # If empty, the templating engine deletes this line, leaving ?input_type unbound.\r\n BIND(?__type_iri AS ?input_type)\r\n \r\n # Safely evaluate using the standard variable\r\n filter (\r\n (bound(?input_type) && ?type_iri = ?input_type) || \r\n (!bound(?input_type) && ?type_iri != fip:Digital-Object-Type)\r\n )\r\n \r\n ?np npa:hasValidSignatureForPublicKey ?pubkey .\r\n filter not exists { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }\r\n filter not exists { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }\r\n ?np (npx:introduces|npx:describes) ?thing .\r\n ?np rdfs:label ?label .\r\n ?np dct:description ?description .\r\n ?np dct:created ?date .\r\n filter(str(?date) > \"2022\")\r\n }\r\n bind(concat(\" \",lcase(str(?label)),\" \",lcase(str(?description)),\" \") as ?text)\r\n filter( contains(?text, lcase(str(?_searchterm))) )\r\n \r\n optional {\r\n graph npa:graph {\r\n ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey .\r\n }\r\n graph ?latest_curators_assertion {\r\n ?dpubkeys npx:hasPublicKey ?dpubkey .\r\n }\r\n graph npa:graph {\r\n filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . }\r\n ?disapproval np:hasAssertion ?da .\r\n }\r\n graph ?da {\r\n ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np .\r\n }\r\n } filter(!bound(?disapproval)) # Faster than \"filter not exists\" for some reason\r\n\r\n optional {\r\n graph npa:graph {\r\n ?recommendation_np npx:hasNanopubType fip:recommended-by .\r\n ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey .\r\n filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . }\r\n ?recommendation_np np:hasAssertion ?ra .\r\n ?recommendation_np np:hasProvenance ?rp .\r\n }\r\n graph ?ra {\r\n ?thing fip:recommended-by ?recommender .\r\n }\r\n graph ?rp {\r\n ?ra prov:wasDerivedFrom ?rfip_np .\r\n }\r\n graph npa:graph {\r\n ?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile .\r\n ?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey .\r\n ?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey .\r\n filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . }\r\n }\r\n graph npa:networkGraph {\r\n ?latest_rfip_np (npx:supersedes)* ?rfip_np .\r\n }\r\n graph ?rfip_qa {\r\n ?rfip_qualifier npx:qualifies ?latest_rfip_np .\r\n }\r\n graph npa:graph {\r\n ?rfip_qualification_np np:hasAssertion ?rfip_qa .\r\n ?rfip_qualification_np npx:hasNanopubType npx:qualifies .\r\n ?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey .\r\n filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . }\r\n }\r\n graph ?latest_curators_assertion {\r\n ?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey .\r\n }\r\n }\r\n optional {\r\n graph npa:graph {\r\n ?qualification_np npx:hasNanopubType npx:qualifies .\r\n ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey .\r\n }\r\n graph ?latest_curators_assertion {\r\n ?qpubkeys npx:hasPublicKey ?qpubkey .\r\n }\r\n graph npa:graph {\r\n filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . }\r\n ?qualification_np np:hasAssertion ?qa .\r\n }\r\n graph ?qa {\r\n ?qualifier npx:qualifies ?np .\r\n }\r\n }\r\n\r\n optional {\r\n graph npa:graph {\r\n ?fairAssessmentLevelNp npx:hasNanopubType fip:has-FAIR-assessment .\r\n ?fairAssessmentLevelNp npa:hasValidSignatureForPublicKey ?lpubkey .\r\n }\r\n graph ?latest_curators_assertion {\r\n ?lpubkeys npx:hasPublicKey ?lpubkey .\r\n }\r\n graph npa:graph {\r\n filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp ; npa:hasValidSignatureForPublicKey ?lpubkey . }\r\n ?fairAssessmentLevelNp np:hasAssertion ?la .\r\n }\r\n graph ?la {\r\n ?thing fip:has-FAIR-assessment ?fairAssessmentLevel .\r\n }\r\n } filter(!bound(?levelNp)) # Faster than \"filter not exists\" for some reason\r\n\r\n}\r\ngroup by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np\r\norder by desc(?recommender_count) asc(?label)" } ] } ] }, { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/Head", "@graph": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAthEAsWKXcQb8k0XEzM9AfQBXbe3D2B4Ub0vFAoSlRdw/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] } ]