You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Lixi Alié Conrads (Jira)" <ji...@apache.org> on 2021/04/19 15:50:00 UTC

[jira] [Updated] (JENA-2094) Valid IRI using @ Symbol caues error

     [ https://issues.apache.org/jira/browse/JENA-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lixi Alié Conrads updated JENA-2094:
------------------------------------
    Description: 
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 <ht...@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> <ht...@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: .../example.nt -- 2021/04/19 17:28:24 CEST 
17:28:24 ERROR riot            :: [line: 1, col: 47] Bad IRI: <ht...@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: <ht...@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}


  was:
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 <ht...@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> <ht...@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: <ht...@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: <ht...@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}



> 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
>            Priority: Major
>
> 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 <ht...@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> <ht...@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: .../example.nt -- 2021/04/19 17:28:24 CEST 
> 17:28:24 ERROR riot            :: [line: 1, col: 47] Bad IRI: <ht...@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: <ht...@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)