[ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/Head", "@graph": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4", "http://www.nanopub.org/nschema#hasAssertion": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/assertion" } ], "http://www.nanopub.org/nschema#hasProvenance": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/provenance" } ], "http://www.nanopub.org/nschema#hasPublicationInfo": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/pubinfo" } ], "@type": [ "http://www.nanopub.org/nschema#Nanopublication" ] } ] }, { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/provenance", "@graph": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/assertion", "http://www.w3.org/ns/prov#wasAttributedTo": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/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/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4", "http://purl.org/dc/terms/created": [ { "@value": "2026-07-14T12:37:05Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@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/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/find-gofair-qualified-things-valid" } ], "http://www.w3.org/ns/prov#wasDerivedFrom": [ { "@id": "https://w3id.org/np/RA9rho2HHeT5zl2z7dk6ntdzCE3CWYHfdqdg10dCk5kJc" }, { "@id": "https://w3id.org/np/RAQjW2MXoE9fSzp5dLH2l5VrcDBNJSeaMvsjHINp-FaAM" } ], "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/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ" }, { "@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/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "TBzb4YvxDYfOEH5gGAvHONiigew1hJycxEwYkVL8ee9A4RNJICuZsU4xNKcxezIeD5qV1vj/WpHRTZsYMe2LwJDknVnLYAb8IPeE9qsio36+oNynlRgMT/9iP7Lf8oFvjm6KG6+faTW02bYPDkxp4acvER6SxKkvgOXfaXTzCK4=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAbIm89ikH6lYNcysd1TTM1Ai8VgQ766CWaQV8kemf5h4/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, optionally restricted to a 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." } ], "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: \nprefix np: \nprefix npa: \nprefix npx: \nprefix xsd: \nprefix dct: \nprefix fip: \nprefix prov: \nprefix search: \n\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 {\n { select distinct ?np where {\n service {\n { ?np search:matches [ search:query ?_searchterm ; search:property rdfs:label ] . }\n union\n { ?np search:matches [ search:query ?_searchterm ; search:property dct:description ] . }\n }\n } }\n\n graph npa:graph {\n npa:hasValidSignatureForPublicKey ?curators_np_pk .\n ?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk .\n filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . }\n ?latest_curators_np np:hasAssertion ?latest_curators_assertion .\n }\n graph npa:networkGraph {\n ?latest_curators_np (npx:supersedes)* .\n filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np }\n }\n\n graph npa:graph {\n ?np npx:hasNanopubType ?__type_iri .\n ?np npa:hasValidSignatureForPublicKey ?pubkey .\n filter not exists { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }\n filter not exists { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }\n filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . }\n ?np (npx:introduces|npx:describes) ?thing .\n ?np rdfs:label ?label .\n optional { ?np dct:description ?description . }\n ?np dct:created ?date .\n filter(str(?date) > \"2022\")\n }\n\n optional {\n graph npa:graph {\n ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey .\n }\n graph ?latest_curators_assertion {\n ?dpubkeys npx:hasPublicKey ?dpubkey .\n }\n graph npa:graph {\n filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . }\n ?disapproval np:hasAssertion ?da .\n }\n graph ?da {\n ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np .\n }\n } filter(!bound(?disapproval)) # Faster than \"filter not exists\" for some reason\n\n optional {\n graph npa:graph {\n ?recommendation_np npx:hasNanopubType fip:recommended-by .\n ?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey .\n filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . }\n ?recommendation_np np:hasAssertion ?ra .\n ?recommendation_np np:hasProvenance ?rp .\n }\n graph ?ra {\n ?thing fip:recommended-by ?recommender .\n }\n graph ?rp {\n ?ra prov:wasDerivedFrom ?rfip_np .\n }\n graph npa:graph {\n ?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile .\n ?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey .\n ?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey .\n filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . }\n }\n graph npa:networkGraph {\n ?latest_rfip_np (npx:supersedes)* ?rfip_np .\n }\n graph ?rfip_qa {\n ?rfip_qualifier npx:qualifies ?latest_rfip_np .\n }\n graph npa:graph {\n ?rfip_qualification_np np:hasAssertion ?rfip_qa .\n ?rfip_qualification_np npx:hasNanopubType npx:qualifies .\n ?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey .\n filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . }\n }\n graph ?latest_curators_assertion {\n ?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey .\n }\n }\n\n optional {\n graph npa:graph {\n ?qualification_np npx:hasNanopubType npx:qualifies .\n ?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey .\n }\n graph ?latest_curators_assertion {\n ?qpubkeys npx:hasPublicKey ?qpubkey .\n }\n graph npa:graph {\n filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . }\n ?qualification_np np:hasAssertion ?qa .\n }\n graph ?qa {\n ?qualifier npx:qualifies ?np .\n }\n }\n\n optional {\n graph npa:graph {\n ?fairAssessmentLevelNp_ npx:hasNanopubType fip:has-FAIR-assessment .\n ?fairAssessmentLevelNp_ npa:hasValidSignatureForPublicKey ?lpubkey .\n filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp_ ; npa:hasValidSignatureForPublicKey ?lpubkey . }\n ?fairAssessmentLevelNp_ np:hasAssertion ?la .\n }\n graph ?latest_curators_assertion {\n ?lpubkeys npx:hasPublicKey ?lpubkey .\n }\n graph ?la {\n ?thing fip:has-FAIR-assessment ?fairAssessmentLevel_ .\n }\n }\n\n}\ngroup by ?thing ?label ?description ?np ?date ?pubkey ?qualifier ?qualification_np\norder by desc(?recommender_count) asc(?label)" } ] } ] } ]