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: "RAaDCZdks63HkuTIupKPdVvKlN6TVm8oX7IDxZgq28aro" } } rows { namespace { name: "this" value { prefix_id: 1 } } } rows { prefix { value: "https://w3id.org/np/RAaDCZdks63HkuTIupKPdVvKlN6TVm8oX7IDxZgq28aro/" } } 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-statement-info" } } rows { name { value: "description" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 5 } o_literal { lex: "Returns the basic information known about a statement expressed as an AIDA sentence, as property/value rows: the statements it is more general than, the statement it is more specific than, the sources it obtains support from, what it is about, the projects it is relevant for, who it is attributed to, whether it has been approved, and the source nanopublication. What is known about a statement is spread over several nanopublications - the sentence and its support in one, each generalisation link in its own - so the rows are gathered from every still-current nanopublication about it, not only from the one shown as the source. That source is the most recent still-current nanopublication declaring the statement that was published by somebody holding a role in a project the statement belongs to, reached either through gen:isRelevantFor or through a finding it generalises. Membership is taken from the validated space-role state (admin, maintainer or member tier)." } 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 basic information about a statement" } } } 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 dct: \nprefix np: \nprefix npa: \nprefix npx: \nprefix gen: \nprefix obo: \nprefix hycl: \nprefix cito: \nprefix schema: \nprefix skos: \nprefix prov: \nprefix foaf: \nprefix nt: \n\nselect ?Property_noheader ?Property_label ?Value_multi_val_noheader ?Value_label_multi\n ?np ?target_np ?approve_target\nwhere {\n {\n select ?np (sample(?npT) as ?npTitle)\n (group_concat(distinct str(?gen); separator=\"\\n\") as ?gen_vals)\n (group_concat(distinct ?genL; separator=\"\\n\") as ?gen_labels)\n (group_concat(distinct str(?abv); separator=\"\\n\") as ?abv_vals)\n (group_concat(distinct ?abvL; separator=\"\\n\") as ?abv_labels)\n (group_concat(distinct str(?src); separator=\"\\n\") as ?src_vals)\n (group_concat(distinct str(?top); separator=\"\\n\") as ?top_vals)\n (group_concat(distinct ?topL; separator=\"\\n\") as ?top_labels)\n (group_concat(distinct str(?rel); separator=\"\\n\") as ?rel_vals)\n (group_concat(distinct ?relL; separator=\"\\n\") as ?rel_labels)\n (group_concat(distinct str(?att); separator=\"\\n\") as ?att_vals)\n (group_concat(distinct ?attName; separator=\"\\n\") as ?att_labels)\n where {\n values ?_statement_multi_iri {}\n # the most recent still-current nanopub declaring this statement, published by\n # somebody holding a role in a project the statement belongs to\n {\n select ?np where {\n values ?_statement_multi_iri {}\n graph npa:graph {\n ?np npa:hasValidSignatureForPublicKeyHash ?pk0 ; np:hasAssertion ?a0 ; np:hasPublicationInfo ?pi0 .\n filter not exists { ?inv0 npx:invalidates ?np ; npa:hasValidSignatureForPublicKeyHash ?pk0 . }\n filter not exists { ?sup0 npx:supersedes ?np . }\n }\n graph ?a0 { ?_statement_multi_iri a hycl:AIDA-Sentence . }\n optional {\n graph npa:graph { ?rnp0 np:hasAssertion ?ra0 . filter not exists { ?rsup0 npx:supersedes ?rnp0 . } }\n graph ?ra0 { ?_statement_multi_iri (gen:isRelevantFor|skos:related) ?projA }\n }\n optional {\n graph npa:graph { ?gnp0 np:hasAssertion ?ga0 . filter not exists { ?gsup0 npx:supersedes ?gnp0 . } }\n graph ?ga0 { ?_statement_multi_iri hycl:hasMoreGeneralMeaningThan ?fnd0 }\n graph npa:graph { ?fnp0 np:hasAssertion ?fa0 . filter not exists { ?fsup0 npx:supersedes ?fnp0 . } }\n graph ?fa0 { ?fnd0 cito:obtainsSupportFrom ?st0 }\n graph npa:graph { ?snp0 np:hasAssertion ?sa0 . filter not exists { ?ssup0 npx:supersedes ?snp0 . } }\n graph ?sa0 { ?st0 a obo:OBI_0000066 ; dct:isPartOf ?projB }\n }\n bind(coalesce(?projA, ?projB) as ?project0)\n # The membership lookup is wrapped in its own sub-select, and the variables it\n # projects deliberately appear nowhere above it. Written as a bare SERVICE with\n # ?project0 already bound, RDF4J pushes the outer bindings into the federated\n # request, and with more than one distinct binding it serialises a malformed\n # remote query -- the endpoint answers HTTP 500 with a lexical error at \"PREFI\",\n # so every statement generalising two or more supported findings failed while\n # single-link ones worked. Isolated like this the sub-request is constant, is\n # evaluated once, and is joined locally by the filter below.\n {\n select distinct ?svcProject ?svcMember where {\n service {\n select distinct ?svcProject ?svcMember where {\n graph npa:graph { npa:hasCurrentSpaceState ?stateG . }\n graph ?stateG {\n ?ri0 a gen:RoleInstantiation ; npa:forSpace ?svcProject ; npa:forAgent ?svcMember ;\n npa:hasRoleType ?rt0 .\n filter(?rt0 in (gen:AdminRole, gen:MaintainerRole, gen:MemberRole))\n }\n }\n }\n }\n }\n filter(?svcProject = ?project0)\n graph ?pi0 { ?np dct:creator ?svcMember ; dct:created ?created . }\n } order by desc(?created) limit 1\n }\n graph npa:graph { ?np np:hasAssertion ?a ; np:hasPublicationInfo ?pi ; np:hasProvenance ?prov . }\n # what is known about the statement is spread over several nanopubs -- the sentence\n # and its support in one, each generalisation link in its own -- so these read from\n # every still-current nanopub about it, not only from ?np\n optional {\n graph npa:graph { ?xnp np:hasAssertion ?xa . filter not exists { ?xsup npx:supersedes ?xnp . } }\n graph ?xa { ?_statement_multi_iri hycl:hasMoreGeneralMeaningThan ?gen }\n bind(replace(replace(replace(replace(replace(replace(strafter(str(?gen), \"http://purl.org/aida/\"), \"[+]\", \" \"), \"%2C\", \",\"), \"%3A\", \":\"), \"%28\", \"(\"), \"%29\", \")\"), \"%25\", \"%\") as ?genL)\n }\n optional {\n graph npa:graph { ?vnp np:hasAssertion ?va . filter not exists { ?vsup npx:supersedes ?vnp . } }\n graph ?va { ?spc hycl:hasMoreGeneralMeaningThan ?_statement_multi_iri }\n bind(?spc as ?abv)\n bind(replace(replace(replace(replace(replace(replace(strafter(str(?abv), \"http://purl.org/aida/\"), \"[+]\", \" \"), \"%2C\", \",\"), \"%3A\", \":\"), \"%28\", \"(\"), \"%29\", \")\"), \"%25\", \"%\") as ?abvL)\n }\n optional {\n graph npa:graph { ?ynp np:hasAssertion ?ya . filter not exists { ?ysup npx:supersedes ?ynp . } }\n graph ?ya { ?_statement_multi_iri cito:obtainsSupportFrom ?src }\n }\n optional {\n graph npa:graph { ?znp np:hasAssertion ?za ; np:hasPublicationInfo ?zpi . filter not exists { ?zsup npx:supersedes ?znp . } }\n graph ?za { ?_statement_multi_iri schema:about ?top }\n optional { graph ?zpi { ?top rdfs:label|nt:hasLabelFromApi ?topL } }\n }\n optional {\n graph npa:graph { ?wnp np:hasAssertion ?wa ; np:hasPublicationInfo ?wpi . filter not exists { ?wsup npx:supersedes ?wnp . } }\n graph ?wa { ?_statement_multi_iri (gen:isRelevantFor|skos:related) ?rel }\n optional { graph ?wpi { ?rel rdfs:label|nt:hasLabelFromApi ?relL } }\n }\n optional {\n graph ?prov { ?a prov:wasAttributedTo ?att }\n optional { graph ?pi { ?att foaf:name ?attName } }\n }\n optional { graph ?pi { ?np rdfs:label ?npT } }\n }\n group by ?np\n }\n bind(exists {\n graph npa:graph {\n ?anp npa:hasValidSignatureForPublicKeyHash ?apk ; np:hasAssertion ?aa .\n filter not exists { ?ainv npx:invalidates ?anp ; npa:hasValidSignatureForPublicKeyHash ?apk . }\n filter not exists { ?asup npx:supersedes ?anp . }\n }\n graph ?aa { ?approver npx:approvesOf ?np }\n } as ?isApproved)\n values (?key ?Property_noheader ?Property_label) {\n (\'Gen\' hycl:hasMoreGeneralMeaningThan \'More general than:\')\n (\'Abv\' hycl:hasMoreSpecificMeaningThan \'More specific than:\')\n (\'Src\' cito:obtainsSupportFrom \'Supported by:\')\n (\'Top\' schema:about \'About:\')\n (\'Rel\' gen:isRelevantFor \'Relevant for:\')\n (\'Att\' prov:wasAttributedTo \'Stated by:\')\n (\'Status\' npx:approvesOf \'Status:\')\n (\'Source\' dct:source \'Source:\')\n }\n bind(if(?key = \'Gen\', ?gen_vals,\n if(?key = \'Abv\', ?abv_vals,\n if(?key = \'Src\', ?src_vals,\n if(?key = \'Top\', ?top_vals,\n if(?key = \'Rel\', ?rel_vals,\n if(?key = \'Att\', ?att_vals,\n if(?key = \'Status\', if(?isApproved, \"approved\", \"not approved\"), str(?np)))))))) as ?rawVal)\n filter(bound(?rawVal) && ?rawVal != \"\")\n bind(?rawVal as ?Value_multi_val_noheader)\n bind(if(?key = \'Source\', str(?np), ?nothing) as ?target_np)\n bind(if(?key = \'Status\' && !?isApproved, str(?np), \"\") as ?approve_target)\n bind(if(?key = \'Gen\', ?gen_labels,\n if(?key = \'Abv\', ?abv_labels,\n if(?key = \'Top\', ?top_labels,\n if(?key = \'Rel\', ?rel_labels,\n if(?key = \'Att\', ?att_labels,\n if(?key = \'Source\', coalesce(?npTitle, \"\"), \"\")))))) as ?Value_label_multi)\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-08-21T10:02:30Z" datatype: 1 } } } rows { name { value: "creator" } } rows { quad { p_iri { } o_iri { prefix_id: 10 name_id: 22 } } } rows { prefix { value: "https://creativecommons.org/licenses/by/4.0/" } } rows { quad { p_iri { prefix_id: 5 name_id: 14 } o_iri { prefix_id: 16 name_id: 2 } } } rows { name { value: "embeds" } } rows { quad { p_iri { prefix_id: 7 name_id: 26 } o_iri { prefix_id: 2 name_id: 12 } } } rows { name { value: "supersedes" } } rows { name { value: "RAXm4F0wuRdzAtYjNAofgYdEIz0LsXlRHHBCraMVC0mc8" } } rows { quad { p_iri { prefix_id: 7 name_id: 27 } o_iri { prefix_id: 1 } } } rows { quad { p_iri { prefix_id: 9 name_id: 17 } o_literal { lex: "Get basic information about a statement" } } } rows { name { value: "wasCreatedFromProvenanceTemplate" } } rows { prefix { id: 8 value: "http://purl.org/np/" } } rows { name { value: "RAcm8OurwUk15WOgBM9wySo-T3a5h6as4K8YR5MBrrxUc" } } rows { quad { p_iri { prefix_id: 6 name_id: 29 } o_iri { prefix_id: 8 } } } rows { name { value: "wasCreatedFromPubinfoTemplate" } } rows { name { value: "RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" } } rows { quad { p_iri { prefix_id: 6 } o_iri { prefix_id: 1 } } } rows { name { value: "RARW4MsFkHuwjycNElvEVtuMjpf4yWDL10-0C5l2MqqRQ" } } rows { quad { o_iri { } } } rows { name { value: "RAoTD7udB2KtUuOuAe74tJi1t3VzK0DyWS7rYVAq1GRvw" } } rows { quad { o_iri { } } } 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: 6 } 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: "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } } } rows { name { value: "hasSignature" } } rows { quad { p_iri { } o_literal { lex: "gfp7WTFfo8+hTFJS1BKW+oFfsfxY0akuA6H+9sXFUz6tf7T318W6V5XhkvDl5jT9gkwPZrDOKJ3y2oX3XH1/IswBHx0EwZr2k9ph9qh9kzAb0H9LUBp2AgXuEynh4wiD/feG7UtpOlw4FNwL0BMhkCJmLzab+Gm6ymdJBhA0ZNU=" } } } 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: 43 } o_iri { prefix_id: 10 name_id: 22 } } }