https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/Head https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://www.nanopub.org/nschema#hasAssertion https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/assertion https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://www.nanopub.org/nschema#hasProvenance https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/provenance https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://www.nanopub.org/nschema#hasPublicationInfo https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/pubinfo https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://www.w3.org/1999/02/22-rdf-syntax-ns#type http://www.nanopub.org/nschema#Nanopublication https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/assertion https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/paragraph http://schema.org/about https://w3id.org/kpxl/grlc/grlc-query https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/paragraph http://schema.org/title Writing the SPARQL into the TriG https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/paragraph http://www.w3.org/1999/02/22-rdf-syntax-ns#type https://w3id.org/kpxl/gen/terms/Paragraph https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/paragraph https://w3id.org/kpxl/gen/terms/hasContent <p>When a query nanopublication is written by hand, the SPARQL sits inside a TriG string literal, and the TriG parser resolves backslash escapes before the SPARQL is ever seen. Every backslash meant for the SPARQL must therefore be doubled in the file.</p> <p>The one that catches people is the separator of <code>group_concat</code>. Written as a single backslash, <code>separator="\n"</code> becomes a real line break inside a quoted SPARQL string, which is not valid SPARQL. Written as <code>separator="\\n"</code> in the TriG, it reaches the query as the two characters that were intended.</p> <p>The safe way to produce the file is to build it from the raw query text with the backslashes doubled programmatically, then parse the result back and check that the round-tripped literal still contains the escape rather than a line break.</p> https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/paragraph https://w3id.org/kpxl/gen/terms/hasPositionString 11 https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/provenance https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/assertion http://www.w3.org/ns/prov#wasAttributedTo https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/pubinfo https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://purl.org/dc/terms/created 2026-09-09T14:46:50Z https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://purl.org/dc/terms/creator https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://purl.org/dc/terms/license https://creativecommons.org/publicdomain/zero/1.0/ https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://purl.org/nanopub/x/introduces https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/paragraph https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU http://www.w3.org/2000/01/rdf-schema#label Writing the SPARQL into the TriG https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8 https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate https://w3id.org/np/RAdxrv0Rie-65L6gdURjpy8nTt7YagghQfX20Zw4pR7t0 https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/sig http://purl.org/nanopub/x/hasAlgorithm RSA https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/sig http://purl.org/nanopub/x/hasPublicKey MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/sig http://purl.org/nanopub/x/hasSignature d5PHBPpVvYcPqElilRU9gphppdyl0vsEaPA1PupnJtta/ugfZ4Rxx0eHBC0U7khJDtmq/qFFdd23ibPcC7gX71VJJyTN/BNDKVojAjC7opVDipz+UEr/M644H/eX6zXvFlMB49UzdHb/PAkusq+D9KJ7XYpjKy2B8sYF/cvf4J8rHwb8zCbEuYYDKMX8bsPdwWzxsey3eg255diI+gkQYFNOtN3IWMoWCel5YZl2f3ICq4sy6tyJnjO6y1NwbWAOfB9MKdxQN3wUSkzeEXUdq8XiJdg1smb9X8Cw45rMb//TSUokHzlXiKvGVN6TIeQs3FkZzo1AjI0+3KEZEYap6A== https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/sig http://purl.org/nanopub/x/hasSignatureTarget https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/sig http://purl.org/nanopub/x/signedBy https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot