https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/Head
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.nanopub.org/nschema#hasAssertion
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/assertion
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.nanopub.org/nschema#hasProvenance
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/provenance
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.nanopub.org/nschema#hasPublicationInfo
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/pubinfo
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
http://www.nanopub.org/nschema#Nanopublication
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/assertion
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
http://purl.org/dc/terms/description
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).
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
http://purl.org/dc/terms/license
http://www.apache.org/licenses/LICENSE-2.0
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
https://w3id.org/kpxl/grlc/grlc-query
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
http://www.w3.org/2000/01/rdf-schema#label
Find GO FAIR qualified things (only valid entries)
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
https://w3id.org/kpxl/grlc/endpoint
https://w3id.org/np/l/nanopub-query-1.1/repo/full
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
https://w3id.org/kpxl/grlc/sparql
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 xsd: <http://www.w3.org/2001/XMLSchema#>
prefix dct: <http://purl.org/dc/terms/>
prefix fip: <https://w3id.org/fair/fip/terms/>
prefix prov: <http://www.w3.org/ns/prov#>
select 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 {
graph npa:graph {
<https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> npa:hasValidSignatureForPublicKey ?curators_np_pk .
?latest_curators_np npa:hasValidSignatureForPublicKey ?curators_np_pk .
filter not exists { ?latest_curators_npx npx:invalidates ?latest_curators_np ; npa:hasValidSignatureForPublicKey ?curators_np_pk . }
?latest_curators_np np:hasAssertion ?latest_curators_assertion .
}
graph npa:networkGraph {
?latest_curators_np (npx:supersedes)* <https://w3id.org/np/RA27Uhopq4MHZziL2lKXX-wTb1jz4KVLbHaupxyAcCt9Y> .
filter not exists { ?latest_curators_npxx npx:supersedes ?latest_curators_np }
}
graph npa:graph {
# Changed: Bind the type to a generic variable and handle the logic in a FILTER
?np npx:hasNanopubType ?type_iri .
filter (
(bound(?__type_iri) && ?type_iri = ?__type_iri) ||
(!bound(?__type_iri) && ?type_iri != fip:Digital-Object-Type)
)
?np npa:hasValidSignatureForPublicKey ?pubkey .
filter not exists { ?retraction npx:retracts ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }
filter not exists { ?newversion npx:supersedes ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }
?np (npx:introduces|npx:describes) ?thing .
?np rdfs:label ?label .
?np dct:description ?description .
?np dct:created ?date .
filter(str(?date) > "2022")
}
bind(concat(" ",lcase(str(?label))," ",lcase(str(?description))," ") as ?text)
filter( contains(?text, lcase(str(?_searchterm))) )
optional {
graph npa:graph {
?disapproval npa:hasValidSignatureForPublicKey ?dpubkey .
}
graph ?latest_curators_assertion {
?dpubkeys npx:hasPublicKey ?dpubkey .
}
graph npa:graph {
filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . }
?disapproval np:hasAssertion ?da .
}
graph ?da {
?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np .
}
} filter(!bound(?disapproval)) # Faster than "filter not exists" for some reason
optional {
graph npa:graph {
?recommendation_np npx:hasNanopubType fip:recommended-by .
?recommendation_np npa:hasValidSignatureForPublicKey ?rpubkey .
filter not exists { ?recommendation_np_x npx:invalidates ?recommendation_np ; npa:hasValidSignatureForPublicKey ?rpubkey . }
?recommendation_np np:hasAssertion ?ra .
?recommendation_np np:hasProvenance ?rp .
}
graph ?ra {
?thing fip:recommended-by ?recommender .
}
graph ?rp {
?ra prov:wasDerivedFrom ?rfip_np .
}
graph npa:graph {
?rfip_np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile .
?rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey .
?latest_rfip_np npa:hasValidSignatureForPublicKey ?rfip_pubkey .
filter not exists { ?latest_rfip_npx npx:invalidates ?latest_rfip_np ; npa:hasValidSignatureForPublicKey ?rfip_pubkey . }
}
graph npa:networkGraph {
?latest_rfip_np (npx:supersedes)* ?rfip_np .
}
graph ?rfip_qa {
?rfip_qualifier npx:qualifies ?latest_rfip_np .
}
graph npa:graph {
?rfip_qualification_np np:hasAssertion ?rfip_qa .
?rfip_qualification_np npx:hasNanopubType npx:qualifies .
?rfip_qualification_np npa:hasValidSignatureForPublicKey ?rfip_qpubkey .
filter not exists { ?rfip_qualification_np_x npx:invalidates ?rfip_qualification_np ; npa:hasValidSignatureForPublicKey ?rfip_qpubkey . }
}
graph ?latest_curators_assertion {
?rfip_qpubkeys npx:hasPublicKey ?rfip_qpubkey .
}
}
optional {
graph npa:graph {
?qualification_np npx:hasNanopubType npx:qualifies .
?qualification_np npa:hasValidSignatureForPublicKey ?qpubkey .
}
graph ?latest_curators_assertion {
?qpubkeys npx:hasPublicKey ?qpubkey .
}
graph npa:graph {
filter not exists { ?qualification_np_x npx:invalidates ?qualification_np ; npa:hasValidSignatureForPublicKey ?qpubkey . }
?qualification_np np:hasAssertion ?qa .
}
graph ?qa {
?qualifier npx:qualifies ?np .
}
}
optional {
graph npa:graph {
?fairAssessmentLevelNp npx:hasNanopubType fip:has-FAIR-assessment .
?fairAssessmentLevelNp npa:hasValidSignatureForPublicKey ?lpubkey .
}
graph ?latest_curators_assertion {
?lpubkeys npx:hasPublicKey ?lpubkey .
}
graph npa:graph {
filter not exists { ?fairAssessmentLevelNp_x npx:invalidates ?fairAssessmentLevelNp ; npa:hasValidSignatureForPublicKey ?lpubkey . }
?fairAssessmentLevelNp np:hasAssertion ?la .
}
graph ?la {
?thing fip:has-FAIR-assessment ?fairAssessmentLevel .
}
} filter(!bound(?levelNp)) # Faster than "filter not exists" for some reason
}
group by ?thing ?label ?description ?np ?date ?pubkey ?retraction ?newversion ?qualifier ?qualification_np
order by desc(?recommender_count) asc(?label)
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/provenance
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/assertion
http://www.w3.org/ns/prov#wasAttributedTo
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/pubinfo
https://orcid.org/0000-0002-0319-6542
http://xmlns.com/foaf/0.1/name
Dario Bijker
https://orcid.org/0000-0002-1267-0234
http://xmlns.com/foaf/0.1/name
Tobias Kuhn
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/dc/terms/created
2026-08-20T09:22:16.253Z
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-0319-6542
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/dc/terms/creator
https://orcid.org/0000-0002-1267-0234
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/dc/terms/license
https://creativecommons.org/publicdomain/zero/1.0/
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/nanopub/x/embeds
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/find-gofair-qualified-things-valid
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/nanopub/x/supersedes
https://w3id.org/np/RAOLyJ346BoNq-ufNLK16j7cjheGK6ZNXS21PvpSgOIrg
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://purl.org/nanopub/x/wasCreatedAt
https://nanodash.knowledgepixels.com/
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.w3.org/ns/prov#wasDerivedFrom
https://w3id.org/np/RA9rho2HHeT5zl2z7dk6ntdzCE3CWYHfdqdg10dCk5kJc
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.w3.org/ns/prov#wasDerivedFrom
https://w3id.org/np/RAQjW2MXoE9fSzp5dLH2l5VrcDBNJSeaMvsjHINp-FaAM
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
http://www.w3.org/ns/prov#wasDerivedFrom
https://w3id.org/np/RAbagGprLwYUsKq1Ae6mqRqzsXQI3jx8K6I4zPwPUy7V0
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate
https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAMEgudZsQ1bh1fZhfYnkthqH6YSXpghSE_DEN1I-6eAI
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate
https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate
https://w3id.org/np/RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/sig
http://purl.org/nanopub/x/hasAlgorithm
RSA
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/sig
http://purl.org/nanopub/x/hasPublicKey
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCfUo0FLu1y2EeueL40lqkVdm9fTJa6WhF6MhyjhKAagbuaWe1wwyk453ot8KAQ3aHtL3B8Ze/aLf+wHrBhS0nz4wS6urc8ksIzlLCoa9KIfa0JuQunBLFptV0U9fTR8kDlPoB+klNrUfzeCXmkdgnnUiiwBoN+j1eN87XMSHKI3wIDAQAB
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/sig
http://purl.org/nanopub/x/hasSignature
PZguu7vRye9PtRcSsDFigtVeEP8HieE0CVovNWudiu8ZHnnod2/s0QPMNQdOoHPjMMJJNBjMRdFyT9t3Q5ba755NnDKJtiPYbrVj2u0DAIhhBBy+Jsz5DPQIsAdU1KZsMW4FKuSwa1SDN4jzU21TZjjM1bFq56bsre5kkvhYv4U=
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/sig
http://purl.org/nanopub/x/hasSignatureTarget
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk
https://w3id.org/np/RANLKie5z_zkNgFJLPjjqZmZLwrgtpyIdBQ4TsrxUWEEk/sig
http://purl.org/nanopub/x/signedBy
https://orcid.org/0000-0002-0319-6542