[redland-dev] [Raptor RDF Syntax Library 0000577]: iri parsing does not conform to REC-n-quads-20140225

Mantis Bug Tracker mantis-bug-sender at librdf.org
Fri Aug 15 06:04:02 EDT 2014


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                    
======================================================================



More information about the redland-dev mailing list