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: "RAsx4xAtpLTu9XdZHmO8K1jBHJf-T3iDB9lCM2ef91zHE" } } rows { namespace { name: "this" value { prefix_id: 1 } } } rows { prefix { value: "https://w3id.org/np/RAsx4xAtpLTu9XdZHmO8K1jBHJf-T3iDB9lCM2ef91zHE/" } } rows { name { } } rows { namespace { name: "sub" value { prefix_id: 2 } } } rows { prefix { value: "http://schema.org/" } } rows { namespace { name: "schema" value { prefix_id: 3 name_id: 2 } } } rows { prefix { value: "https://w3id.org/kpxl/gen/terms/" } } rows { namespace { name: "gen" value { prefix_id: 4 name_id: 2 } } } rows { prefix { value: "http://www.nanopub.org/nschema#" } } rows { namespace { name: "np" value { prefix_id: 5 name_id: 2 } } } rows { prefix { value: "http://purl.org/dc/terms/" } } rows { namespace { name: "dct" value { prefix_id: 6 name_id: 2 } } } rows { prefix { value: "https://w3id.org/np/o/ntemplate/" } } rows { namespace { name: "nt" value { prefix_id: 7 name_id: 2 } } } rows { prefix { value: "http://purl.org/nanopub/x/" } } rows { namespace { name: "npx" value { prefix_id: 8 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2001/XMLSchema#" } } rows { namespace { name: "xsd" value { prefix_id: 9 name_id: 2 } } } rows { prefix { value: "http://www.w3.org/2000/01/rdf-schema#" } } rows { namespace { name: "rdfs" 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 { 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: 5 name_id: 3 } o_iri { prefix_id: 2 } g_iri { } } } rows { name { value: "hasProvenance" } } rows { name { value: "provenance" } } rows { quad { p_iri { prefix_id: 5 } o_iri { prefix_id: 2 } } } rows { name { value: "hasPublicationInfo" } } rows { name { value: "pubinfo" } } rows { quad { p_iri { prefix_id: 5 } 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: 12 } o_iri { prefix_id: 5 } } } rows { name { value: "paragraph" } } rows { name { value: "about" } } rows { prefix { value: "https://w3id.org/kpxl/grlc/" } } rows { name { value: "grlc-query" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 3 } o_iri { prefix_id: 13 } g_iri { prefix_id: 2 name_id: 4 } } } rows { name { value: "title" } } rows { quad { p_iri { prefix_id: 3 name_id: 15 } o_literal { lex: "Testing a query before publishing" } } } rows { name { value: "Paragraph" } } rows { quad { p_iri { prefix_id: 12 name_id: 10 } o_iri { prefix_id: 4 name_id: 16 } } } rows { name { value: "hasContent" } } rows { quad { p_iri { } o_literal { lex: "

A query template can be run before it is published. Encode the signed nanopublication in base64url and pass it as the _nanopub_trig parameter of an ordinary API call, together with the parameters the query expects. The service then answers using that nanopublication as if it had been published.

\n

The same parameter works on the OpenAPI page, which gives a form for the query\'s parameters and is the easier way to try several values.

\n

Testing this way matters because the checks made at signing time are about syntax only. A query that parses can still join nothing, return the wrong rows, or be too slow, and none of that is visible until it runs. Note also that a very large query nanopublication can exceed the URL length the server accepts, in which case the query has to be tried against the repository endpoint directly.

" } } } rows { name { value: "hasPositionString" } } rows { quad { p_iri { } o_literal { lex: "13" } } } rows { name { value: "wasAttributedTo" } } rows { prefix { value: "https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/" } } rows { name { value: "docs-bot" } } rows { quad { s_iri { prefix_id: 2 name_id: 4 } p_iri { prefix_id: 11 name_id: 19 } o_iri { prefix_id: 14 } g_iri { prefix_id: 2 name_id: 7 } } } 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: 6 name_id: 21 } o_literal { lex: "2026-09-09T14:46:50Z" datatype: 1 } g_iri { prefix_id: 2 name_id: 9 } } } rows { name { value: "creator" } } rows { quad { p_iri { prefix_id: 6 name_id: 22 } o_iri { prefix_id: 14 name_id: 20 } } } rows { name { value: "license" } } rows { prefix { value: "https://creativecommons.org/publicdomain/zero/1.0/" } } rows { quad { p_iri { prefix_id: 6 name_id: 23 } o_iri { prefix_id: 15 name_id: 2 } } } rows { name { value: "introduces" } } rows { quad { p_iri { prefix_id: 8 name_id: 24 } o_iri { prefix_id: 2 name_id: 12 } } } rows { name { value: "label" } } rows { quad { p_iri { prefix_id: 10 name_id: 25 } o_literal { lex: "Testing a query before publishing" } } } rows { name { value: "wasCreatedFromProvenanceTemplate" } } rows { name { value: "RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } } rows { quad { p_iri { prefix_id: 7 } o_iri { prefix_id: 1 } } } rows { name { value: "wasCreatedFromPubinfoTemplate" } } rows { name { value: "RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA" } } rows { quad { p_iri { prefix_id: 7 } o_iri { prefix_id: 1 } } } rows { name { value: "RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8" } } rows { quad { o_iri { } } } rows { name { value: "wasCreatedFromTemplate" } } rows { name { value: "RAdxrv0Rie-65L6gdURjpy8nTt7YagghQfX20Zw4pR7t0" } } rows { quad { p_iri { prefix_id: 7 } o_iri { prefix_id: 1 } } } rows { name { value: "sig" } } rows { name { value: "hasAlgorithm" } } rows { quad { s_iri { prefix_id: 2 } p_iri { prefix_id: 8 } o_literal { lex: "RSA" } } } rows { name { value: "hasPublicKey" } } rows { quad { p_iri { } o_literal { lex: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB" } } } rows { name { value: "hasSignature" } } rows { quad { p_iri { } o_literal { lex: "aphIz0i29/aFHC+Ej193bkJjF29F3ZsbYi+aep/3Zonp+g4d1kEAnLlb1OBBZx/7KfurrqhRa1RHnscJbeVQ3Xlbvm7BykZtL6WKjy4YpLw3Pi3yCDYYmgbTTZQkVl2QW25VxJ2m1segIBdkOsF2GhfxNB/3nndsM0n0SM66eXti9Gmux8CcB1A0E+QIQkHU1MHprzU4qc0BeDbBhGSXEaJz60OJGJD+3tA62b5YwqYibJxBZdOl7pDseZx2ieNPntQMO5Bx2dNuUWGe2obalVnIjOTgCqVCkyvvMsYruwJuM1keJu+GhAvBS7Wgv5fg5K9P8MDA4ix/vN2G2Qn7rA==" } } } 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: 8 name_id: 38 } o_iri { prefix_id: 14 name_id: 20 } } }