rows { options { physical_type: PHYSICAL_STREAM_TYPE_QUADS max_name_table_size: 128 max_prefix_table_size: 16 max_datatype_table_size: 16 logical_type: LOGICAL_STREAM_TYPE_DATASETS version: 2 } } rows { prefix { value: "https://w3id.org/np/" } } rows { name { value: "RAuhA1fekszl6XiionEZ3rQLBWJAG0dyPKtkhMpcBCM-E" } } rows { namespace { name: "this" value { prefix_id: 1 } } } rows { prefix { value: "https://w3id.org/np/RAuhA1fekszl6XiionEZ3rQLBWJAG0dyPKtkhMpcBCM-E/" } } rows { name { } } rows { namespace { name: "sub" value { prefix_id: 2 } } } rows { prefix { value: "http://www.nanopub.org/nschema#" } } rows { namespace { name: "np" value { prefix_id: 3 name_id: 2 } } } rows { prefix { value: "https://w3id.org/kpxl/grlc/" } } rows { namespace { name: "grlc" value { prefix_id: 4 name_id: 2 } } } rows { prefix { value: "http://purl.org/dc/terms/" } } rows { namespace { name: "dct" value { prefix_id: 5 name_id: 2 } } } rows { prefix { value: "https://w3id.org/np/o/ntemplate/" } } rows { namespace { name: "nt" value { prefix_id: 6 name_id: 2 } } } rows { prefix { value: "http://purl.org/nanopub/x/" } } rows { namespace { name: "npx" value { prefix_id: 7 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2001/XMLSchema#" } } rows { namespace { name: "xsd" value { prefix_id: 8 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2000/01/rdf-schema#" } } rows { namespace { name: "rdfs" value { prefix_id: 9 name_id: 2 } } } rows { prefix { value: "https://orcid.org/" } } rows { namespace { name: "orcid" value { prefix_id: 10 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/ns/prov#" } } rows { namespace { name: "prov" value { prefix_id: 11 name_id: 2 } } } rows { prefix { value: "http://xmlns.com/foaf/0.1/" } } rows { namespace { name: "foaf" value { prefix_id: 12 name_id: 2 } } } rows { name { value: "hasAssertion" } } rows { name { value: "assertion" } } rows { name { value: "Head" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 3 name_id: 3 } o_iri { prefix_id: 2 } g_iri { } } } rows { name { value: "hasProvenance" } } rows { name { value: "provenance" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { name { value: "hasPublicationInfo" } } rows { name { value: "pubinfo" } } rows { quad { p_iri { prefix_id: 3 } o_iri { prefix_id: 2 } } } rows { prefix { value: "http://www.w3.org/1999/02/22-rdf-syntax-ns#" } } rows { name { value: "type" } } rows { name { value: "Nanopublication" } } rows { quad { p_iri { prefix_id: 13 } o_iri { prefix_id: 3 } } } rows { name { value: "get-fips-per-domain-svg" } } rows { name { value: "description" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 5 } o_literal { lex: "Returns one row with an SVG column: two horizontal bar charts of the number of FAIR Implementation Profiles (FIPs) per research domain, computed from the current FIP nanopublications, their declaring communities and the communities\' research domains, resolved against the Research domains (SRAO) resource of the FAIR Implementation Space (a FIP counts for a domain when a research domain of its community is that domain or one of its sub-domains). The first chart shows the top-level SRAO domains, the second the second-level domains, each only where at least one FIP exists. Bars are sorted by count; each label links root-relatively to the domain part page (/part?id=...), where the FIPs and most used FSRs of the domain are shown. Positions are computed with rank subqueries, so the output is deterministic. This is the query behind the \"FIPs per domain\" SVG view. 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." } g_iri { prefix_id: 2 name_id: 4 } } } rows { name { value: "license" } } rows { prefix { value: "http://www.apache.org/licenses/" } } rows { name { value: "LICENSE-2.0" } } rows { quad { p_iri { prefix_id: 5 name_id: 14 } o_iri { prefix_id: 14 } } } rows { name { value: "grlc-query" } } rows { quad { p_iri { prefix_id: 13 name_id: 10 } o_iri { prefix_id: 4 name_id: 16 } } } rows { name { value: "label" } } rows { quad { p_iri { prefix_id: 9 } o_literal { lex: "Get FIPs per domain as SVG" } } } rows { name { value: "endpoint" } } rows { prefix { value: "https://w3id.org/np/l/nanopub-query-1.1/repo/" } } rows { name { value: "full" } } rows { quad { p_iri { prefix_id: 4 } o_iri { prefix_id: 15 } } } rows { name { value: "sparql" } } rows { quad { p_iri { prefix_id: 4 } o_literal { lex: "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 ?svg where {\n { select (group_concat(?bar1; separator=\"\") as ?bars1) where {\n { select ?d ?level ?dlabel ?n ?max (count(*) as ?rank) where {\n { select ?d ?level (min(?dl) as ?dlabel) (count(distinct ?fip) as ?n) where {\n { select distinct ?fip ?d where {\n { select distinct ?fip ?cd where {\n graph npa:graph {\n ?np npx:hasNanopubType fip:FAIR-Implementation-Profile ; npx:introduces ?fip ; np:hasAssertion ?a ; npa:hasValidSignatureForPublicKey ?pk .\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 ?dap1 { ?disapproverp1 npx:disapprovesOf ?np . }\n graph npa:graph { ?dnpp1 np:hasAssertion ?dap1 ; npa:hasValidSignatureForPublicKey ?dpkp1 . filter not exists { ?dxp1 npx:invalidates ?dnpp1 ; npa:hasValidSignatureForPublicKey ?dpkp1 . } }\n graph ?curators_a { ?dkp1 npx:hasPublicKey ?dpkp1 . }\n }\n graph ?a { ?fip fip:declared-by ?community . }\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 fip:has-research-domain ?cd . }\n } }\n ?cd rdfs:subClassOf* ?d .\n } }\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 { graph ?srao_a { ?d rdfs:label ?dl . filter not exists { ?d rdfs:subClassOf ?p . } } bind(1 as ?level) }\n union { graph ?srao_a { ?d rdfs:label ?dl ; rdfs:subClassOf ?root . filter not exists { ?root rdfs:subClassOf ?p . } } bind(2 as ?level) }\n } group by ?d ?level }\n { select ?level2 (max(?nn) as ?max) where {\n { select ?dd ?level2 (min(?dl) as ?ddl) (count(distinct ?fip) as ?nn) where {\n { select distinct ?fip ?dd where {\n { select distinct ?fip ?cd where {\n graph npa:graph {\n ?np npx:hasNanopubType fip:FAIR-Implementation-Profile ; npx:introduces ?fip ; np:hasAssertion ?a ; npa:hasValidSignatureForPublicKey ?pk .\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 ?dap2 { ?disapproverp2 npx:disapprovesOf ?np . }\n graph npa:graph { ?dnpp2 np:hasAssertion ?dap2 ; npa:hasValidSignatureForPublicKey ?dpkp2 . filter not exists { ?dxp2 npx:invalidates ?dnpp2 ; npa:hasValidSignatureForPublicKey ?dpkp2 . } }\n graph ?curators_a { ?dkp2 npx:hasPublicKey ?dpkp2 . }\n }\n graph ?a { ?fip fip:declared-by ?community . }\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 fip:has-research-domain ?cd . }\n } }\n ?cd rdfs:subClassOf* ?dd .\n } }\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 { graph ?srao_a { ?dd rdfs:label ?dl . filter not exists { ?dd rdfs:subClassOf ?p . } } bind(1 as ?level2) }\n union { graph ?srao_a { ?dd rdfs:label ?dl ; rdfs:subClassOf ?root . filter not exists { ?root rdfs:subClassOf ?p . } } bind(2 as ?level2) }\n } group by ?dd ?level2 }\n } group by ?level2 }\n { select ?d2 ?lv2 (min(?dl) as ?dl2) (count(distinct ?fip) as ?n2) where {\n { select distinct ?fip ?d2 where {\n { select distinct ?fip ?cd where {\n graph npa:graph {\n ?np npx:hasNanopubType fip:FAIR-Implementation-Profile ; npx:introduces ?fip ; np:hasAssertion ?a ; npa:hasValidSignatureForPublicKey ?pk .\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 ?dap3 { ?disapproverp3 npx:disapprovesOf ?np . }\n graph npa:graph { ?dnpp3 np:hasAssertion ?dap3 ; npa:hasValidSignatureForPublicKey ?dpkp3 . filter not exists { ?dxp3 npx:invalidates ?dnpp3 ; npa:hasValidSignatureForPublicKey ?dpkp3 . } }\n graph ?curators_a { ?dkp3 npx:hasPublicKey ?dpkp3 . }\n }\n graph ?a { ?fip fip:declared-by ?community . }\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 fip:has-research-domain ?cd . }\n } }\n ?cd rdfs:subClassOf* ?d2 .\n } }\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 { graph ?srao_a { ?d2 rdfs:label ?dl . filter not exists { ?d2 rdfs:subClassOf ?p . } } bind(1 as ?lv2) }\n union { graph ?srao_a { ?d2 rdfs:label ?dl ; rdfs:subClassOf ?root . filter not exists { ?root rdfs:subClassOf ?p . } } bind(2 as ?lv2) }\n } group by ?d2 ?lv2 }\n filter(?level2 = ?level && ?lv2 = ?level && (?n2 > ?n || (?n2 = ?n && str(?d2) <= str(?d))))\n } group by ?d ?level ?dlabel ?n ?max }\n bind(if(?level = 1, 30, 170) + (?rank - 1) * 22 as ?y)\n bind(round(320 * ?n / ?max) as ?w)\n bind(replace(replace(replace(?dlabel, \"&\", \"&\"), \"<\", \"<\"), \">\", \">\") as ?lbl)\n bind(concat(\n \'\', ?lbl, \'\',\n \'\',\n \'\', str(?n), \'\'\n ) as ?bar1)\n } }\n { select (count(*) as ?k2) where {\n { select ?d3 ?lv3 (min(?dl) as ?dl3) (count(distinct ?fip) as ?n3) where {\n { select distinct ?fip ?d3 where {\n { select distinct ?fip ?cd where {\n graph npa:graph {\n ?np npx:hasNanopubType fip:FAIR-Implementation-Profile ; npx:introduces ?fip ; np:hasAssertion ?a ; npa:hasValidSignatureForPublicKey ?pk .\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 ?dap4 { ?disapproverp4 npx:disapprovesOf ?np . }\n graph npa:graph { ?dnpp4 np:hasAssertion ?dap4 ; npa:hasValidSignatureForPublicKey ?dpkp4 . filter not exists { ?dxp4 npx:invalidates ?dnpp4 ; npa:hasValidSignatureForPublicKey ?dpkp4 . } }\n graph ?curators_a { ?dkp4 npx:hasPublicKey ?dpkp4 . }\n }\n graph ?a { ?fip fip:declared-by ?community . }\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 fip:has-research-domain ?cd . }\n } }\n ?cd rdfs:subClassOf* ?d3 .\n } }\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 { graph ?srao_a { ?d3 rdfs:label ?dl . filter not exists { ?d3 rdfs:subClassOf ?p . } } bind(1 as ?lv3) }\n union { graph ?srao_a { ?d3 rdfs:label ?dl ; rdfs:subClassOf ?root . filter not exists { ?root rdfs:subClassOf ?p . } } bind(2 as ?lv3) }\n } group by ?d3 ?lv3 }\n filter(?lv3 = 2)\n } }\n bind(170 + ?k2 * 22 + 12 as ?height)\n bind(concat(\n \'\',\n \'FIPs per top-level research domain\',\n \'FIPs per research domain (second level)\',\n ?bars1,\n \'\') as ?svg)\n}\n" } } } rows { name { value: "wasAttributedTo" } } rows { name { value: "0000-0002-1267-0234" } } rows { quad { s_iri { prefix_id: 2 name_id: 4 } p_iri { prefix_id: 11 name_id: 21 } o_iri { prefix_id: 10 } g_iri { prefix_id: 2 name_id: 7 } } } rows { name { value: "name" } } rows { quad { s_iri { prefix_id: 10 name_id: 22 } p_iri { prefix_id: 12 } o_literal { lex: "Tobias Kuhn" } g_iri { prefix_id: 2 name_id: 9 } } } rows { name { value: "created" } } rows { datatype { value: "http://www.w3.org/2001/XMLSchema#dateTime" } } rows { quad { s_iri { prefix_id: 1 name_id: 1 } p_iri { prefix_id: 5 name_id: 24 } o_literal { lex: "2026-11-04T10:25:20Z" datatype: 1 } } } rows { name { value: "creator" } } rows { prefix { value: "https://w3id.org/np/RAlgF8um78nQxxJhJTNMZ3tpWJOntfTULJWMWr5Fmo4zU/" } } rows { name { value: "fairimpl-bot" } } rows { quad { p_iri { } o_iri { prefix_id: 16 } } } rows { prefix { id: 6 value: "https://creativecommons.org/licenses/by/4.0/" } } rows { quad { p_iri { prefix_id: 5 name_id: 14 } o_iri { prefix_id: 6 name_id: 2 } } } rows { name { value: "embeds" } } rows { quad { p_iri { prefix_id: 7 name_id: 27 } o_iri { prefix_id: 2 name_id: 12 } } } rows { name { value: "supersedes" } } rows { name { value: "RA9MwGLq_1Nfsez17qFbLxHCCfMWF5Auz_ZQ6mqK8R8-g" } } rows { quad { p_iri { prefix_id: 7 name_id: 28 } o_iri { prefix_id: 1 } } } rows { quad { p_iri { prefix_id: 9 name_id: 17 } o_literal { lex: "Get FIPs per domain as SVG" } } } rows { prefix { id: 8 value: "https://w3id.org/np/o/ntemplate/" } } rows { name { value: "wasCreatedFromProvenanceTemplate" } } rows { name { value: "RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } } rows { quad { p_iri { prefix_id: 8 name_id: 30 } o_iri { prefix_id: 1 } } } rows { name { value: "wasCreatedFromPubinfoTemplate" } } rows { name { value: "RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" } } rows { quad { p_iri { prefix_id: 8 } o_iri { prefix_id: 1 } } } rows { name { value: "RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } } rows { quad { o_iri { } } } rows { name { value: "wasCreatedFromTemplate" } } rows { name { value: "RAEFAt-QcFK0ZhqfvlsmS10BnzGJA0xwOICZXkO-ai87k" } } rows { quad { p_iri { prefix_id: 8 } o_iri { prefix_id: 1 } } } rows { name { value: "sig" } } rows { name { value: "hasAlgorithm" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 7 } o_literal { lex: "RSA" } } } rows { name { value: "hasPublicKey" } } rows { quad { p_iri { } o_literal { lex: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzZAkv4Mu1YSUxQMriBnhYunqosX5wpuQ3FjUyzW8wTC51wjCmhsChyhS+mCx7Od+2MTDpdhxDWA+pH1r9AX508X2rIY/sbpMS+pd56e0qKPQ0t4folln1TgamPN9iOlY/yLc2x27AdipWIGXUdtL2iAcb+P/Y5dQS2AkHMS3lP2e5JBL5/bD/10qvTLKvdsqIKts8qjuLpxr9CFbsS2gLjMkXL5D2IsJ0cL5sgmIfS1inLVxIfXrS/OgqYNFqeNznUYCVWfo0g7DKjnjiICz3omeQeJFLYwlJ6PhUhYDQS6O318DGwUCwhnuXbBbwL9evZa2I/0Pwu5xpZdNLYJ5UwIDAQAB" } } } rows { name { value: "hasSignature" } } rows { quad { p_iri { } o_literal { lex: "fKXVqAuuYfxHokvRN+OgspDUrJ3oe1ZAUwndIey/fbwxiRLbFyPj4ytv+V3t4Exu19DWbKr6uMeaUX1kSbW8NllpBHqndyf3BvytV8tLu6ElT7GdtVEooAJxpd0f7uOjhGapxk5sP905IWZM+TD/qMvCCw5V6holkNUf7loJ0Yu5ErVFcKefpIMiRUJ8ZWZGVGzTZVsvg07V+JMlreV0Ek/6SNKp+/rLVMn81aITOYWd99KnsBlKEsGlIV7vZ4PQQl0B4Cq+rAcRKOmenfsByJHmLpbQkUqMeEEG68jqAP4S4VjiqxIkT0Wk35uY/8qYICovh5sKfhBA+H3uMeqPig==" } } } rows { name { value: "hasSignatureTarget" } } rows { quad { p_iri { } o_iri { prefix_id: 1 name_id: 1 } } } rows { name { value: "signedBy" } } rows { quad { p_iri { prefix_id: 7 name_id: 42 } o_iri { prefix_id: 16 name_id: 26 } } }