Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-2094

Valid IRI using @ Symbol caues error

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Jena 4.0.0
    • Jena 4.1.0
    • Cmd line tools, IRI
    • None

    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 <http://abc@def> which is valid afaik.

      Jena 3.17.0 however doesn't throw the error.

      Minimal Example:

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

      Log 4.0.0

      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: .../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: <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
      

      log 3.17.0

      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  
      

      Attachments

        Activity

          People

            andy Andy Seaborne
            lixi Lixi AliƩ Conrads
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: