n3/n-triples syntax question

I was telling Bijan that his n3 parser should output N-Triples, when
we came across the problem that anonymous node names (_:qname) are a
pain to generate uniquely.  When you need one (eg for a [ ]
construct), you can't just make one ("_:g57"), because the user might
use the same identifier ("_:g57") later in the document.

Our best solution is to say you generate illegal names ("_:57") during
parsing, then at the end of the document, you rename those over to the
first _:gXX that's not already taken.   Painful, but correct.

The more obvious approach of "reserving" names like _:_gXXX would
violate the principle of N-Triples being a sub-language of n3, at
least in spirit.   Maybe you can finesse the definition of "reserve",
and say that such names "may conflict with names generated internally
if you go beyond N-Triples to other n3 features."  Pretty ugly.

Better solutions?

      -- sandro

Received on Friday, 30 November 2001 14:22:54 UTC