Lixi AliƩ Conrads created JENA-2094:
---------------------------------------

             Summary: Valid IRI using @ Symbol caues error
                 Key: JENA-2094
                 URL: https://issues.apache.org/jira/browse/JENA-2094
             Project: Apache Jena
          Issue Type: Bug
          Components: Cmd line tools
    Affects Versions: Jena 4.0.0
            Reporter: Lixi AliƩ Conrads


Hi there, 

I found out that the new jena 4.0.0 tdbloader(2) will throw an error and aborts 
if a URI uses an @ symbol is used, like <http://abc@def> which is valid afaik.

Jena 3.17.0 however doesn't throw the error.

Minimal Example:

{code}
<http://example.com/a> <http://example.com/p> <http://abc@def> .
{code}

Log 4.0.0
{code}
apache-jena-4.0.0/bin/tdbloader2 --loc TESTI example.nt                         
                    
 17:28:23 INFO -- TDB Bulk Loader Start                                         
                                      
 17:28:23 INFO Data Load Phase                                                  
                                      
 17:28:23 INFO Got 1 data files to load                                         
                                      
 17:28:23 INFO Data file 1: /upb/users/f/fconrads/profiles/unix/cs/example.nt   
                                      
17:28:24 INFO  loader          :: Load: 
/upb/users/f/fconrads/profiles/unix/cs/example.nt -- 2021/04/19 17:28:24 CEST 
17:28:24 ERROR riot            :: [line: 1, col: 47] Bad IRI: <http://abc@def> 
Code: 58/PROHIBITED_COMPONENT_PRESENT in
 USER: A component that is prohibited by the scheme is present.                 
                                      
org.apache.jena.riot.RiotException: [line: 1, col: 47] Bad IRI: 
<http://abc@def> Code: 58/PROHIBITED_COMPONENT_PRESENT
in USER: A component that is prohibited by the scheme is present.               
                                      
        at 
org.apache.jena.riot.system.ErrorHandlerFactory$ErrorHandlerStd.error(ErrorHandlerFactory.java:146)
        
        at 
org.apache.jena.riot.system.ParserProfileStd.internalMakeIRI(ParserProfileStd.java:112)
                    
        at 
org.apache.jena.riot.system.ParserProfileStd.resolveIRI(ParserProfileStd.java:85)
                          
        at 
org.apache.jena.riot.system.ParserProfileStd.createURI(ParserProfileStd.java:187)
                          
        at 
org.apache.jena.riot.system.ParserProfileStd.create(ParserProfileStd.java:259)  
                           
        at 
org.apache.jena.riot.lang.LangNTriples.tokenAsNode(LangNTriples.java:70)        
                           
        at 
org.apache.jena.riot.lang.LangNTuple.parseTriple(LangNTuple.java:109)           
                           
        at 
org.apache.jena.riot.lang.LangNTriples.parseOne(LangNTriples.java:61)           
                           
        at 
org.apache.jena.riot.lang.LangNTriples.runParser(LangNTriples.java:53)          
                           
        at org.apache.jena.riot.lang.LangBase.parse(LangBase.java:43)           
                                      
        at 
org.apache.jena.riot.RDFParserRegistry$ReaderRIOTLang.read(RDFParserRegistry.java:184)
                     
        at org.apache.jena.riot.RDFParser.read(RDFParser.java:357)              
                                      
        at org.apache.jena.riot.RDFParser.parseURI(RDFParser.java:323)          
                                      
        at org.apache.jena.riot.RDFParser.parse(RDFParser.java:298)             
                                      
        at 
org.apache.jena.riot.RDFParserBuilder.parse(RDFParserBuilder.java:550)          
                           
        at 
org.apache.jena.tdb.store.bulkloader2.ProcNodeTableBuilder.exec(ProcNodeTableBuilder.java:78)
              
        at 
tdb.bulkloader2.CmdNodeTableBuilder.exec(CmdNodeTableBuilder.java:113)          
                           
        at org.apache.jena.cmd.CmdMain.mainMethod(CmdMain.java:92)              
                                      
        at org.apache.jena.cmd.CmdMain.mainRun(CmdMain.java:58)                 
                                      
        at org.apache.jena.cmd.CmdMain.mainRun(CmdMain.java:45)                 
                                      
        at 
tdb.bulkloader2.CmdNodeTableBuilder.main(CmdNodeTableBuilder.java:61)           
                           
 17:28:24 ERROR Failed during data phase
{code}

log 3.17.0
{code}
apache-jena-3.17.0/bin/tdbloader --loc TEST2 example.nt                         
                     
17:26:29 INFO  loader          :: -- Start triples data phase                   
                                       
17:26:29 INFO  loader          :: ** Load empty triples table                   
                                       
17:26:29 INFO  loader          :: -- Start quads data phase                     
                                       
17:26:29 INFO  loader          :: ** Load empty quads table                     
                                       
17:26:29 INFO  loader          :: Load: example.nt -- 2021/04/19 17:26:29 CEST  
                                       
17:26:29 INFO  loader          :: -- Finish triples data phase                  
                                       
17:26:29 INFO  loader          :: ** Data: 1 triples loaded in 0.04 seconds 
[Rate: 25.00 per second]                   
17:26:29 INFO  loader          :: -- Finish quads data phase                    
                                       
17:26:29 INFO  loader          :: -- Start triples index phase                  
                                       
17:26:29 INFO  loader          :: ** Index SPO->POS: 1 slots indexed            
                                       
17:26:29 INFO  loader          :: ** Index SPO->OSP: 1 slots indexed in 0.00 
seconds [Rate: 1,000.00 per second]       
17:26:29 INFO  loader          :: -- Finish triples index phase                 
                                       
17:26:29 INFO  loader          :: ** 1 triples indexed in 0.00 seconds [Rate: 
333.33 per second]                       
17:26:29 INFO  loader          :: -- Finish triples load                        
                                      
17:26:29 INFO  loader          :: ** Completed: 1 triples loaded in 0.05 
seconds [Rate: 20.83 per second]             
17:26:29 INFO  loader          :: -- Finish quads load  
{code}




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to