https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU
.trig | .trig.txt | .jelly | .jelly.txt | .jsonld | .jsonld.txt | .nq | .nq.txt | .xml | .xml.txt
@prefix this: <https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU> .
@prefix sub: <https://w3id.org/np/RAYcriHlII62-eAYy91vOZ6WG5QmEc2juBM4XLu9U26aU/> .
@prefix schema: <http://schema.org/> .
@prefix gen: <https://w3id.org/kpxl/gen/terms/> .
@prefix np: <http://www.nanopub.org/nschema#> .
@prefix dct: <http://purl.org/dc/terms/> .
@prefix nt: <https://w3id.org/np/o/ntemplate/> .
@prefix npx: <http://purl.org/nanopub/x/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
sub:Head {
this: a np:Nanopublication;
np:hasAssertion sub:assertion;
np:hasProvenance sub:provenance;
np:hasPublicationInfo sub:pubinfo .
}
sub:assertion {
sub:paragraph a gen:Paragraph;
schema:about <https://w3id.org/kpxl/grlc/grlc-query>;
schema:title "Writing the SPARQL into the TriG";
gen: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>""";
gen:hasPositionString "11" .
}
sub:provenance {
sub:assertion prov:wasAttributedTo <https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot> .
}
sub:pubinfo {
this: dct:created "2026-09-09T14:46:50Z"^^xsd:dateTime;
dct:creator <https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot>;
dct:license <https://creativecommons.org/publicdomain/zero/1.0/>;
npx:introduces sub:paragraph;
rdfs:label "Writing the SPARQL into the TriG";
nt:wasCreatedFromProvenanceTemplate <https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU>;
nt:wasCreatedFromPubinfoTemplate <https://w3id.org/np/RA-N4_kFxcruvBTlo1yJv29E4SLOXsx5KO_th69PprMrA>,
<https://w3id.org/np/RACJ58Gvyn91LqCKIO9zu1eijDQIeEff28iyDrJgjSJF8>;
nt:wasCreatedFromTemplate <https://w3id.org/np/RAdxrv0Rie-65L6gdURjpy8nTt7YagghQfX20Zw4pR7t0> .
sub:sig npx:hasAlgorithm "RSA";
npx:hasPublicKey "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAl8cMusqtNyKA6UIsi3f7BAcZmHQXWxU0qk0PLsboMWQxYrGBfGgHTgRHJrBRxL+Zn9kJHKVmz2smDcjCBptXi/OwWy80gjsx+Pbe6IWz3zFPWF1UoFIKfPnC0slV67CQgdM853zW7Bmk9/uflCtK4EtZKmPdRGtUHVC7DTVvDBMDzLRGdE2KCBVN29EbM5GGVNvijYbaZQ9OFQPBkQshayqSIyGRr6rreJdkrRVLIzu3uuAjKYydaeXZWSN2JLnVBwrClKUxaEdCwhb5nXpMtKOMD+R+LgaXLeJUWM8BdRSYnta9ZqI5pHY4y3v+eW7J+HHeTvRbHvlik+Z4hFUXmQIDAQAB";
npx:hasSignature "d5PHBPpVvYcPqElilRU9gphppdyl0vsEaPA1PupnJtta/ugfZ4Rxx0eHBC0U7khJDtmq/qFFdd23ibPcC7gX71VJJyTN/BNDKVojAjC7opVDipz+UEr/M644H/eX6zXvFlMB49UzdHb/PAkusq+D9KJ7XYpjKy2B8sYF/cvf4J8rHwb8zCbEuYYDKMX8bsPdwWzxsey3eg255diI+gkQYFNOtN3IWMoWCel5YZl2f3ICq4sy6tyJnjO6y1NwbWAOfB9MKdxQN3wUSkzeEXUdq8XiJdg1smb9X8Cw45rMb//TSUokHzlXiKvGVN6TIeQs3FkZzo1AjI0+3KEZEYap6A==";
npx:hasSignatureTarget this:;
npx:signedBy <https://w3id.org/np/RAFJKwxgChOLOQ2UduMAT1bYf1VNaWIZYIPmTT3YvJ8y0/docs-bot> .
}