literals with \0

I've notices vectors for creating literals with C0 codes
(include \0):
  old turtle
  APIs
  SPARQL CONSTRUCT
  SPARQL Update
  RDBs via Direct Mapping
  RDBs via R2RML
(RDB example reproducable with
  create table test(s text);
  insert into test (s) values ('a\0b');
  select s, length(s) from test;
  +------+-----------+
  | s    | length(s) |
  +------+-----------+
  |      |         1 |
  | a b  |         3 |
  +------+-----------+
).

These can't be serialized in RDF/XML. Nor can the results of a query
including this data be serialized in application/sparql-results, e.g.
  SELECT ?icon { ?who <p> ?icon FILTER (regex(?icon, "PNG")) }
They can, however, be queried in SPARQL:
  SELECT ?who { ?who <p> ?icon FILTER (regex(?icon, "PNG")) }
(Technically, useful functions like fn:regex are based on strings, but
I don't know of implementations which enforce this.)

In theory, existing turtle files like the attached are rendered
illegal by the post-facto declaration that they are xs:strings.
In practice, people don't enforce this (noting that these tests
existed for a while in Turtle with no one failing or crying fowl.)
-- 
-ericP

Received on Wednesday, 1 May 2013 04:53:10 UTC