Oops, left those turned on by accident! Thanks,
Rob On Jan 19, 2012, at 10:10 AM, Andy Seaborne (Resolved) (JIRA) wrote: > > [ > https://issues.apache.org/jira/browse/JENA-198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel > ] > > Andy Seaborne resolved JENA-198. > -------------------------------- > > Resolution: Fixed > Assignee: Andy Seaborne > > Patches applied. > > Removed print statements from tests :-) > > Added NodeFactory.parseNode to set the prefix map. > >> TSV Output may be invalid but TSV Input reads it fine >> ----------------------------------------------------- >> >> Key: JENA-198 >> URL: https://issues.apache.org/jira/browse/JENA-198 >> Project: Jena >> Issue Type: Bug >> Components: ARQ >> Affects Versions: ARQ 2.9.1 >> Environment: Any >> Reporter: Rob Vesse >> Assignee: Andy Seaborne >> Priority: Minor >> Labels: tsv >> Fix For: ARQ 2.9.1 >> >> Attachments: TSVIllegalIOTests.patch, 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 - >> http://www.w3.org/TR/sparql11-results-csv-tsv/ >> 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: > https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa > For more information on JIRA, see: http://www.atlassian.com/software/jira > >
