. . . . "For a FAIR Implementation Profile (FIP) or reference FIP (rFIP), lists the FAIR Supporting Resources (FSRs) it declares, ordered like the FIP itself: by FAIR principle in FIP order (F1, F2, F3, F4, A1.1, A1.2, A2, I1, I2, I3, R1.1, R1.2) and then by resource. One row per FSR and FIP question; the data and metadata variants of a question are merged, with the scope column telling whether the FSR was declared for metadata, data or both. Columns: the FIP question as a group header (principle code and the question text as in the FIP Wizard, with \"data / metadata\" where the two variants differ; the question_group column is rendered by Nanodash as a header row above the rows of that question), the FSR (labelled from its metadata nanopublication, or by its identifier), its FSR types, scope, the kind of use (current use, planned use, planned replacement), and the declaration nanopublication. A FIP is resolved through its declaration index; a FIP without an index (such as an rFIP) through the declarations of the same community carrying the same version." . . . "Get the FSRs declared in a FIP" . . "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 ?question_group ?fsr ?fsr_label ?types_multi_iri ?types_label_multi ?scope ?use ?np ?np_label where {\n{ select ?principle (concat(min(?principle_label_x), \": \", min(?qtext)) as ?question_group)\n ?fsr (coalesce(min(?fsr_label_x), replace(str(?fsr), \"^.*[/#]\", \"\")) as ?fsr_label)\n (group_concat(distinct str(?type); separator=\" \") as ?types_multi_iri) (group_concat(distinct ?type_label; separator=\"\\n\") as ?types_label_multi)\n (if(max(?isMD) = 1 && max(?isD) = 1, \"Metadata, Data\", if(max(?isMD) = 1, \"Metadata\", if(max(?isD) = 1, \"Data\", \"\"))) as ?scope)\n (group_concat(distinct ?use; separator=\", \") as ?use)\n (min(?dnp) as ?np) (\"^\" as ?np_label) (min(?sortkey) as ?sk)\nwhere {\n graph npa:graph {\n ?fipnp npx:introduces ?_fip_iri ; np:hasAssertion ?fa ; npa:hasValidSignatureForPublicKey ?fpk .\n filter not exists { ?fx npx:invalidates ?fipnp ; npa:hasValidSignatureForPublicKey ?fpk . }\n }\n graph ?fa { ?_fip_iri fip:declared-by ?community . optional { ?_fip_iri schema:version| ?version . } }\n {\n graph ?fa { ?_fip_iri fip:has-declaration-index ?index . }\n graph npa:networkGraph { ?index npx:includesElement ?dnp . }\n } union {\n graph ?fa { filter not exists { ?_fip_iri fip:has-declaration-index ?ix . } }\n graph ?da0 { ?decl0 fip:declared-by ?community ; schema:version| ?version . }\n graph npa:graph { ?dnp np:hasAssertion ?da0 . }\n }\n graph npa:graph { ?dnp np:hasAssertion ?da . }\n graph ?da {\n ?decl a fip:FIP-Declaration ; fip:refers-to-question ?question_iri .\n { ?decl fip:declares-current-use-of ?fsr . bind(\"current use\" as ?use) }\n union { ?decl fip:declares-planned-use-of ?fsr . bind(\"planned use\" as ?use) }\n union { ?decl fip:declares-planned-replacement-of ?fsr . bind(\"planned replacement\" as ?use) }\n union { ?decl fip:declares-replacement-from ?fsr . bind(\"replacement from\" as ?use) }\n union { ?decl fip:declares-replacement-to ?fsr . bind(\"replacement to\" as ?use) }\n }\n graph npa:graph {\n ?dnp npx:hasNanopubType fip:FIP-Declaration ; npa:hasValidSignatureForPublicKey ?dpk .\n filter not exists { ?dx npx:invalidates ?dnp ; npa:hasValidSignatureForPublicKey ?dpk . }\n }\n bind(replace(str(?question_iri), \"^.*FIP-Question-\", \"\") as ?qcode)\n bind(replace(?qcode, \"-(MD|D)$\", \"\") as ?qbase)\n bind(if(strends(?qcode, \"-MD\"), 1, 0) as ?isMD)\n bind(if(strends(?qcode, \"-D\"), 1, 0) as ?isD)\n bind(iri(concat(\"https://w3id.org/fair/principles/terms/\", ?qbase)) as ?principle)\n bind(?qbase as ?principle_label_x)\n optional {\n graph npa:graph { ?qnp npx:introduces ?question_iri ; np:hasAssertion ?qa . }\n graph ?qa { ?question_iri skos:definition ?qdef . }\n }\n bind(replace(replace(replace(?qdef, \" for datasets\", \" for data / metadata\"), \" your datasets\", \" your data / metadata\"), \"(for|annotate|your) metadata records\", \"$1 data / metadata\") as ?qtext)\n optional {\n values ?p { npx:introduces npx:describes }\n graph npa:graph {\n ?fsrnp ?p ?fsr ; rdfs:label ?fsr_label_x ; npx:hasNanopubType ?sft ; npa:hasValidSignatureForPublicKey ?spk .\n values ?sft { fip:FAIR-Enabling-Resource fip:FAIR-Supporting-Resource }\n filter not exists { ?sx npx:invalidates ?fsrnp ; npa:hasValidSignatureForPublicKey ?spk . }\n }\n optional {\n graph npa:graph { ?fsrnp npx:hasNanopubType ?type . }\n filter(strstarts(str(?type), \"https://w3id.org/fair/fip/terms/\"))\n filter(?type not in (fip:FAIR-Enabling-Resource, fip:FAIR-Supporting-Resource, fip:Available-FAIR-Enabling-Resource, fip:Available-FAIR-Supporting-Resource, fip:FAIR-Enabling-Resource-to-be-Developed, fip:FAIR-Supporting-Resource-to-be-Developed))\n bind(replace(replace(str(?type), \"^.*/\", \"\"), \"-\", \" \") as ?type_label)\n }\n }\n bind(concat(replace(replace(replace(replace(substr(?qbase, 1, 1), \"F\", \"1\"), \"A\", \"2\"), \"I\", \"3\"), \"R\", \"4\"), ?qbase) as ?sortkey)\n} group by ?principle ?fsr }\n} order by ?sk ?fsr_label\n" . . "Tobias Kuhn" . "2026-10-09T05:23:40Z"^^ . . . . . "Get the FSRs declared in a FIP" . . . . . "RSA" . "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZAkv4Mu1YSUxQMriBnhYunqosX5wpuQ3FjUyzW8wTC51wjCmhsChyhS+mCx7Od+2MTDpdhxDWA+pH1r9AX508X2rIY/sbpMS+pd56e0qKPQ0t4folln1TgamPN9iOlY/yLc2x27AdipWIGXUdtL2iAcb+P/Y5dQS2AkHMS3lP2e5JBL5/bD/10qvTLKvdsqIKts8qjuLpxr9CFbsS2gLjMkXL5D2IsJ0cL5sgmIfS1inLVxIfXrS/OgqYNFqeNznUYCVWfo0g7DKjnjiICz3omeQeJFLYwlJ6PhUhYDQS6O318DGwUCwhnuXbBbwL9evZa2I/0Pwu5xpZdNLYJ5UwIDAQAB" . "TY7FhhjO2v8k3fYDcjDIAU5uOKB9TKAYPLLCO8JXBMFNlkW6WOJMkxI9XyULSqSEC2bkNhH7fsKDYG6yg/yXwBERPOIZK8a9TL1G7zl1Jaa2v3iuhJ2tOP2isSDfF7S9SjsM+eVddEAXcdxfPt8PyggqEqnFBqUVpP4GKgQE++WRhEdW60r/dHpHoi7PHljeojqNNb5HW9Ucefj6lXzFD0kRPYjCfcTxU1y035/UW8+yE0S5Jmx8Z6ltrDgu8jBCvKZnMkZQzLWlenxqSqWGy26I1ucZTQT25CLaf7CuxuSREmMOemSJIVMHfQcIiMpJELm8s8fDX943c2+1KAXWoA==" . . .