[ { "@id": "https://w3id.org/np/RAc9LvOpaUExr9kR_IFeUMfSNsgAUs0THI4905Rh4DWhM/pubinfo", "@graph": [ { "@id": "https://orcid.org/0000-0002-1267-0234", "http://xmlns.com/foaf/0.1/name": [ { "@value": "Tobias Kuhn" } ] }, { "@id": "https://w3id.org/np/RAc9LvOpaUExr9kR_IFeUMfSNsgAUs0THI4905Rh4DWhM", "http://purl.org/dc/terms/created": [ { "@value": "2026-03-30T07:35:49Z", "@type": "http://www.w3.org/2001/XMLSchema#dateTime" } ], "http://purl.org/dc/terms/creator": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ], "http://purl.org/dc/terms/license": [ { "@id": "https://creativecommons.org/licenses/by/4.0/" } ], "http://purl.org/nanopub/x/introduces": [ { "@id": "https://w3id.org/np/RAekqSYOKrvcBt0joDwam5ZBQDNthNv4jAoyGsxGiZsp4/paragraph" } ], "http://purl.org/nanopub/x/supersedes": [ { "@id": "https://w3id.org/np/RAekqSYOKrvcBt0joDwam5ZBQDNthNv4jAoyGsxGiZsp4" } ], "http://www.w3.org/2000/01/rdf-schema#label": [ { "@value": "Escaping in multi-value literal columns" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromProvenanceTemplate": [ { "@id": "https://w3id.org/np/RA7lSq6MuK_TIC6JMSHvLtee3lpLoZDOqLJCLXevnrPoU" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromPubinfoTemplate": [ { "@id": "https://w3id.org/np/RA0J4vUn_dekg-U1kK3AOEt02p9mT2WO03uGxLDec1jLw" }, { "@id": "https://w3id.org/np/RAukAcWHRDlkqxk7H2XNSegc1WnHI569INvNr-xdptDGI" } ], "https://w3id.org/np/o/ntemplate/wasCreatedFromTemplate": [ { "@id": "https://w3id.org/np/RA6x8_U9oRQeqHp3mGYvDLdLOkD7y-XxCAgzFevplEX4g" } ] }, { "@id": "https://w3id.org/np/RAc9LvOpaUExr9kR_IFeUMfSNsgAUs0THI4905Rh4DWhM/sig", "http://purl.org/nanopub/x/hasAlgorithm": [ { "@value": "RSA" } ], "http://purl.org/nanopub/x/hasPublicKey": [ { "@value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwUtewGCpT5vIfXYE1bmf/Uqu1ojqnWdYxv+ySO80ul8Gu7m8KoyPAwuvaPj0lvPtHrg000qMmkxzKhYknEjq8v7EerxZNYp5B3/3+5ZpuWOYAs78UnQVjbHSmDdmryr4D4VvvNIiUmd0yxci47dTFUj4DvfHnGd6hVe5+goqdcwIDAQAB" } ], "http://purl.org/nanopub/x/hasSignature": [ { "@value": "X7+aFWEU0pAp5YsWQi6bvoTUmYSqTvR4+EynZLCUTYq9fEqxGStISF0DcGc6/ZHfNA6U0LCZ9F7JVeI+EMj7nAj/2p01e4y3O7wZxB2C8QZmCOeVDDClAEspT3EtLxIO/HC09QN/AXMgIRkrS7V3vAOXqXIX76FCIzluT1RBCNs=" } ], "http://purl.org/nanopub/x/hasSignatureTarget": [ { "@id": "https://w3id.org/np/RAc9LvOpaUExr9kR_IFeUMfSNsgAUs0THI4905Rh4DWhM" } ], "http://purl.org/nanopub/x/signedBy": [ { "@id": "https://orcid.org/0000-0002-1267-0234" } ] } ] }, { "@id": "https://w3id.org/np/RAc9LvOpaUExr9kR_IFeUMfSNsgAUs0THI4905Rh4DWhM/assertion", "@graph": [ { "@id": "https://w3id.org/np/RAekqSYOKrvcBt0joDwam5ZBQDNthNv4jAoyGsxGiZsp4/paragraph", "@type": [ "https://w3id.org/kpxl/gen/terms/Paragraph" ], "https://schema.org/about": [ { "@id": "https://w3id.org/kpxl/grlc/grlc-query" } ], "https://schema.org/title": [ { "@value": "Escaping in multi-value literal columns" } ], "https://w3id.org/kpxl/gen/terms/hasContent": [ { "@value": "
When concatenating literal values with a newline separator in group_concat, always escape existing backslashes and replace CR/LF sequences in the individual values first: replace(replace(?val, \"\\\\\\\\\", \"\\\\\\\\\\\\\\\\\"), \"[\\r\\n]+\", \"\\\\\\\\n\"). First escape existing backslashes (\\\\ → \\\\\\\\), then replace any sequence of CR/LF characters with the two-character escape \\\\n. This ensures values containing these characters can be safely split on newlines later.