From 4339b6f9cb0da8a9d6519077f4a0ecc385cc382c Mon Sep 17 00:00:00 2001 From: David Robillard Date: Thu, 12 Aug 2021 12:56:03 -0400 Subject: Add a reader flag to disable generated blank label avoidance --- include/serd/serd.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include') diff --git a/include/serd/serd.h b/include/serd/serd.h index e99e4e6a..3f59ded6 100644 --- a/include/serd/serd.h +++ b/include/serd/serd.h @@ -2299,6 +2299,21 @@ typedef enum { a syntax error. */ SERD_READ_VERBATIM = 1u << 2u, + + /** + Read generated blank node labels exactly without adjusting them. + + Normally, the reader will adapt blank node labels in the input that clash + with its scheme for generating new ones, for example mapping "_:b123" to + "_:B123". This flag disables that, so that blank node labels are passed + to the sink exactly as they are in the input. + + Note that this flag should be used carefully, since it can result in data + corruption. Specifically, if the input is a syntax like Turtle with + anonymous nodes, the generated IDs for those nodes may clash with IDs from + the input document. + */ + SERD_READ_GENERATED = 1u << 3u, } SerdReaderFlag; /// Bitwise OR of SerdReaderFlag values -- cgit v1.2.1