. . . . "Returns the FAIR Implementation Profiles (FIPs) of a space: the same columns as the \"Get all FIPs\" query of the FAIR Implementation Space (FIP, declaring community, version, publication date, number of declarations in the declaration index, top-level research domains of the community), but restricted to the FAIR communities of the given space and of its sub-spaces. Three steps lead from the space to the communities: Nanodash fills the multi placeholder with the space IRI and the alt IDs of its root definition (its owl:sameAs objects, which for a space that is also a FAIR community is the community IRI the FIPs point at); gen:isSubSpaceOf adds the sub-spaces, taken from non-invalidated nanopublications and followed transitively, so nested sub-spaces count too; and owl:sameAs in a non-invalidated nanopublication that introduces or describes a space in scope maps each of them to its FAIR community, in either direction. The sub-space links are read from the plain nanopublication graphs rather than from the materialised space state of the spaces repository, which the FIP data is not in: any non-invalidated sub-space declaration counts, without the admin-side authority check that the spaces repository applies. Reference FIPs (rFIPs) and example nanopublications are excluded, as in the all-FIPs query. Rows are ordered by publication date, newest first; the date column is also sortable in the rendered table. The declaration count is computed once per declaration index in a self-contained sub-select rather than by joining the index elements into the main pattern, which keeps the query about five times faster. FIP nanopublications that a GO FAIR Foundation curator has disapproved of (npx:disapprovesOf, signed with a key from the curators list and not invalidated) are left out, as in the FIPs list and the FIP Wizard lookup." . . . "Get the FIPs of a space" . . "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 ?fip (min(?fip_label) as ?fip_label) (min(?community) as ?community) (min(?community_label) as ?community_label) (min(?version) as ?version)\n (coalesce(min(?decl_count), 0) as ?declarations)\n (group_concat(distinct str(?top); separator=\" \") as ?domains_multi_iri) (group_concat(distinct ?top_label; separator=\"\\n\") as ?domains_label_multi)\n (min(?date) as ?date) (min(?np) as ?np) (\"^\" as ?np_label)\nwhere {\n { select distinct ?community where {\n { select distinct ?scope where {\n { values ?_space_multi_iri {} bind(?_space_multi_iri as ?scope) }\n union\n { values ?_space_multi_iri {}\n graph npa:graph {\n ?sub_np np:hasAssertion ?sub_a ; npa:hasValidSignatureForPublicKey ?sub_pk .\n filter not exists { ?sub_x npx:invalidates ?sub_np ; npa:hasValidSignatureForPublicKey ?sub_pk . }\n }\n graph ?sub_a { ?scope gen:isSubSpaceOf ?parent . }\n ?parent gen:isSubSpaceOf* ?_space_multi_iri .\n }\n } }\n ?scope (owl:sameAs|^owl:sameAs)? ?community .\n filter(?community = ?scope || exists {\n graph npa:graph {\n ?same_np npx:introduces|npx:describes ?scope ; np:hasAssertion ?same_a ; npa:hasValidSignatureForPublicKey ?same_pk .\n filter not exists { ?same_x npx:invalidates ?same_np ; npa:hasValidSignatureForPublicKey ?same_pk . }\n }\n graph ?same_a { { ?scope owl:sameAs ?community } union { ?community owl:sameAs ?scope } }\n })\n } }\n graph npa:graph {\n ?np npx:hasNanopubType fip:FAIR-Implementation-Profile ; npx:introduces ?fip ; npa:hasValidSignatureForPublicKey ?pk ; dct:created ?date ; np:hasAssertion ?a .\n filter not exists { ?np npx:hasNanopubType fip:Reference-FAIR-Implementation-Profile . }\n filter not exists { ?np npx:hasNanopubType npx:ExampleNanopub . }\n filter not exists { ?x npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pk . }\n }\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 filter not exists {\n graph ?daf { ?disapproverf npx:disapprovesOf ?np . }\n graph npa:graph { ?dnpf np:hasAssertion ?daf ; npa:hasValidSignatureForPublicKey ?dpkf . filter not exists { ?dxf npx:invalidates ?dnpf ; npa:hasValidSignatureForPublicKey ?dpkf . } }\n graph ?curators_a { ?dkf npx:hasPublicKey ?dpkf . }\n }\n graph ?a {\n ?fip a fip:FAIR-Implementation-Profile ; rdfs:label ?fip_label ; fip:declared-by ?community .\n optional { ?fip schema:version| ?version . }\n optional { ?fip fip:has-declaration-index ?index . }\n }\n optional {\n { select ?index (count(distinct ?decl_np) as ?decl_count) where {\n graph npa:networkGraph { ?index npx:includesElement ?decl_np . }\n } group by ?index }\n }\n optional {\n graph npa:graph { ?cnp npx:hasNanopubType fip:FAIR-Implementation-Community ; npx:introduces|npx:describes ?community ; np:hasAssertion ?ca ; npa:hasValidSignatureForPublicKey ?cpk . filter not exists { ?cx npx:invalidates ?cnp ; npa:hasValidSignatureForPublicKey ?cpk . } }\n graph ?ca { ?community rdfs:label ?community_label . optional { ?community fip:has-research-domain ?domain . } }\n graph npa:graph {\n ?srao_np npx:describes ;\n npa:hasValidSignatureForPublicKeyHash \"9069576dbf1967483c9a3095fb8a7c38b4770974a1733c681d5969e14e455e2b\" ;\n np:hasAssertion ?srao_a .\n filter not exists { ?srao_x npx:invalidates ?srao_np ; npa:hasValidSignatureForPublicKeyHash \"9069576dbf1967483c9a3095fb8a7c38b4770974a1733c681d5969e14e455e2b\" . }\n }\n optional { graph ?srao_a { ?domain rdfs:subClassOf* ?top . filter not exists { ?top rdfs:subClassOf ?tp . } ?top rdfs:label ?top_label . } }\n }\n} group by ?fip order by desc(min(?date))\n" . . "Tobias Kuhn" . "2026-11-04T09:42:15Z"^^ . . . . . "Get the FIPs of a space" . . . . . "RSA" . "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZAkv4Mu1YSUxQMriBnhYunqosX5wpuQ3FjUyzW8wTC51wjCmhsChyhS+mCx7Od+2MTDpdhxDWA+pH1r9AX508X2rIY/sbpMS+pd56e0qKPQ0t4folln1TgamPN9iOlY/yLc2x27AdipWIGXUdtL2iAcb+P/Y5dQS2AkHMS3lP2e5JBL5/bD/10qvTLKvdsqIKts8qjuLpxr9CFbsS2gLjMkXL5D2IsJ0cL5sgmIfS1inLVxIfXrS/OgqYNFqeNznUYCVWfo0g7DKjnjiICz3omeQeJFLYwlJ6PhUhYDQS6O318DGwUCwhnuXbBbwL9evZa2I/0Pwu5xpZdNLYJ5UwIDAQAB" . "AwchPOYHDhoITOK85ChfBoS6DYWBbjeRFSuCp7GKaQwYIkMQXgsdzgnq9DHO8aei1XUiYw+2741yeXO8YinO16r4t9xo3SiJXOvZY3WUykHw+GKewR3D/vK1JDLKhDgueNp0K5n8zp52csp7ReXAgKvR9IlEB0QcnpWg+TtSFDakOwJGewRKYHYnC/n1cQPxhY0+Y9tzqYZMIPoY2L004RWovDiqelBt9wDfa7B1BpFwLgKXi56vgExMp5ZLemGNCYLuhxciCM61/gCM+DzRlYGG9Mqw1x6L+rPvPDZQ/4CMJUEZYWTrALEZD7ehskF9jSm3wZgor6V9m5xXujH96A==" . . .