. . . . "This query returns a list of all FIP communities that have supercommunities." . . . "Get FIP supercommunities" . . "prefix rdfs: \r\nprefix dct: \r\nprefix np: \r\nprefix npa: \r\nprefix npx: \r\nprefix fip: \r\n\r\nselect distinct ?community (group_concat(distinct ?supercommunity; separator=\" \") as ?supercommunities) (group_concat(distinct ?sc; separator=\" \") as ?sc) where {\r\n graph npa:graph {\r\n ?np npa:hasValidSignatureForPublicKey ?pubkey .\r\n filter not exists { ?npx npx:invalidates ?np ; npa:hasValidSignatureForPublicKey ?pubkey . }\r\n ?np npx:hasNanopubType fip:FAIR-Implementation-Community .\r\n ?np (npx:introduces|npx:describes) ?community .\r\n ?np np:hasAssertion ?a .\r\n }\r\n graph ?a {\r\n ?community dct:isPartOf ?supercommunity .\r\n }\r\n optional {\r\n graph npa:graph {\r\n ?disapproval np:hasAssertion ?da .\r\n ?disapproval npa:hasValidSignatureForPublicKey ?dpubkey .\r\n filter not exists { ?disapproval_x npx:invalidates ?disapproval ; npa:hasValidSignatureForPublicKey ?dpubkey . }\r\n }\r\n graph {\r\n ?dpubkeys npx:hasPublicKey ?dpubkey .\r\n }\r\n graph ?da {\r\n ?dsomebody ( npx:disapproves-of | npx:disapprovesOf ) ?np .\r\n }\r\n } filter(!bound(?disapproval)) # for some reason this is much faster than \"filter not exists\"\r\n bind(replace(str(?supercommunity), \".*#\", \"\") as ?sc)\r\n} group by ?community" . . "Tobias Kuhn" . "RSA" . "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD4Wj537OijfOWVtsHMznuXKISqBhtGDQZfdO6pbb4hg9EHMcUFGTLbWaPrP783PHv8HMAAPjvEkHLaOHMIknqhaIa5236lfBO3r+ljVdYBElBcLvROmwG+ZGtmPNZf7lMhI15xf5TfoaSa84AFRd5J2EXekK6PhaFQhRm1IpSYtwIDAQAB" . "QbHGcdOX3wTGbNhQiR5VtU9r74uZZp92ipfC8+XhotvMWxZKGkTi6nf/sbFTeau6sLet2PEJKL8crNJy76/kGbFcpZHXzXBzihVP+KO94V3UGdFAC1cKgeHJgvG+/fyBW9nqD5Y5kVZVDtlcenlUbJc+F3fNjaRK/Kq0fSPiTq0=" . . . "2025-03-11T11:06:47.124Z"^^ . . . . . . . . .