You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by "Andy Seaborne (Jira)" <ji...@apache.org> on 2021/04/19 20:02:00 UTC
[jira] [Commented] (JENA-2094) Valid IRI using @ Symbol caues error
[ https://issues.apache.org/jira/browse/JENA-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17325290#comment-17325290 ]
Andy Seaborne commented on JENA-2094:
-------------------------------------
Hi there - thanks for the report.
There isn't a workaround for 4.0.0 unless you write a short Java program.
{code:java}
public static void main(String[] args) {
SystemIRIx.strictMode("http", false);
tdb2.tdbloader.main(args);
}
{code:java}
but easier is to use 3.17.0 from the command line - there aren't any changes to the database format.
> 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
> Assignee: Andy Seaborne
> 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: .../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)