The following issue has been SUBMITTED. ====================================================================== http://bugs.librdf.org/mantis/view.php?id=577 ====================================================================== Reported By: james.anderson Assigned To: ====================================================================== Project: Raptor RDF Syntax Library Issue ID: 577 Category: utilities Reproducibility: always Severity: block Priority: high Status: new Syntax Name: ====================================================================== Date Submitted: 2014-08-15 10:04 Last Modified: 2014-08-15 10:04 ====================================================================== Summary: iri parsing does not conform to REC-n-quads-20140225 Description: the nquads parser fails to parse iri according to REC-n-quads-20140225. aside from a lexicographic change this normative bnf is the same as that from the CR-n-quads-20131105 document and as such, the 2.0.14 version should support it.
the implementation appears, however, to - apply the same lexical rules to all term classes - in particular both iri and string literals permit the ECHAR production, while that should be permitted for string literals only - apply the lexical constraints from the concrete syntax to already parsed iri values, which controverts the purpose of the UCHAR production. for example, if one generates a document with one quad for each of the characters excluded in the IRIREF production, raptor decodes an iri value as per the method specified for UCHAR, but then reports that the respective character is "bad". see below. we would consider correcting this, and/or replacing it with an implementation which conforms to the specifications, but are concerned about the effect this would have on interoperability. for example, any changes would need to be consistent with corrections to the serializer. this leads us to enquire, whether you aware of this issue and whether you have considered an approach to rectifying the situation. Steps to Reproduce: use raptor to count the quads in the attached file. Additional Information: rapper: Parsing URI file:///encoding/test-escaping.nq with parser nquads rapper: Serializing with serializer ntriples <http://example.org/test> <http://example.org/escape-> "escape for 0" . rapper: Error - URI file:///encoding/test-escaping.nq:2 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:3 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:4 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:5 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:6 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:7 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:8 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:9 column 60 - URI 'http://example.org/escape' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:10 column 60 - URI 'http://example.org/escape- ' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:11 column 60 - URI 'http://example.org/escape- ' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:12 column 60 - URI 'http://example.org/escape- ' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:13 column 60 - URI 'http://example.org/escape- ' contains bad character(s) ' contains bad character(s)/encoding/test-escaping.nq:14 column 60 - URI 'http://example.org/escape- rapper: Error - URI file:///encoding/test-escaping.nq:15 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:16 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:17 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:18 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:19 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:20 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:21 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:22 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:23 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:24 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:25 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:26 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:27 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:28 column 60 - URI 'http://example.org/escape- contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:29 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:30 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:31 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:32 column 60 - URI 'http://example.org/escape-' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:33 column 60 - URI 'http://example.org/escape- ' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:35 column 60 - URI 'http://example.org/escape-{' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:36 column 60 - URI 'http://example.org/escape-}' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:37 column 60 - URI 'http://example.org/escape-|' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:38 column 60 - URI 'http://example.org/escape-^' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:39 column 60 - URI 'http://example.org/escape-`' contains bad character(s) rapper: Error - URI file:///encoding/test-escaping.nq:40 column 60 - URI 'http://example.org/escape-\' contains bad character(s) rapper: Parsing returned 1 triple ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2014-08-15 10:04 james.anderson New Issue 2014-08-15 10:04 james.anderson File Added: test-escaping.nq ====================================================================== _______________________________________________ redland-dev mailing list [email protected] http://lists.librdf.org/mailman/listinfo/redland-dev
