incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob Vesse (Created) (JIRA)" <>
Subject [jira] [Created] (JENA-198) TSV Output may be invalid but TSV Input reads it fine
Date Wed, 18 Jan 2012 22:46:39 GMT
TSV Output may be invalid but TSV Input reads it fine

                 Key: JENA-198
             Project: Jena
          Issue Type: Bug
          Components: ARQ
    Affects Versions: ARQ 2.9.1
         Environment: Any
            Reporter: Rob Vesse
            Priority: Minor
             Fix For: ARQ 2.9.1
         Attachments: TSVIllegalInput.patch, TSVIllegalOutput.patch

I noticed today that TSVOutput may produce output that contains prefixed names which is invalid
per my reading of the relevant specification -

This is due to the fact that TSVOutput called FmtUtils.stringForNode() with only a Node resulting
in it using the ARQ default prefix mapping for output.

Attached is a simple patch which fixes the issue, it should also speed up TSVOutput marginally
as the existing code requires a SerializationContext to be created for every term serialized
and incurs the cost of trying to turn URIs into prefixed names.  Essentially the patch creates
a null SerializationContext variable and just passes that to every call to FmtUtils.stringForNode()
so that the ARQ default prefix mapping never gets used.

The second part of the issue is that this malformed TSV input may be accepted because TSVInputIterator
uses NodeFactory.parseNode() to parse terms which calls SSE.parseNode() without any prefix
mapping and thus internally ends up using the default SSE prefix mapping which means some
prefixed names get permitted as valid when they should be rejected.

The second patch attached fixes this part of the issue by keeping an empty static prefix map
and calling SSE.parseNode() directly and passing in this map.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message