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

TDB2: Duplicate prefixes in the data+query cause warning and exception in CONSTRUCT query.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Jena 3.13.1
    • Jena 3.14.0
    • TDB2
    • None

    Description

      Report on users@jena (23/Oct)

      Reproduced with:

        rm -rf DB2
        tdb2.tdbloader --loc DB2 D-prefix.ttl
        tdb2.tdbquery --loc DB2 @Q-prefix.rq
      

      to give:

      WARN  Exception in insertPrefixes: Duplicate key ex (attempted merging values http://example/ns1# and http://example/ns2/)
      java.lang.IllegalStateException: Duplicate key ex (attempted merging values http://example/ns1# and http://example/ns2/)
      	at java.base/java.util.stream.Collectors.duplicateKeyException(Collectors.java:133)
      	at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Collectors.java:180)
      	at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
      	at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
      	at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
      	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
      	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
      	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
      	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
      	at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
      	at org.apache.jena.dboe.storage.prefixes.PrefixMapBase.getMappingCopy(PrefixMapBase.java:44)
      	at org.apache.jena.dboe.storage.prefixes.PrefixMappingOverPrefixMapI.getNsPrefixMap(PrefixMappingOverPrefixMapI.java:97)
      	at org.apache.jena.rdf.model.impl.ModelCom.getNsPrefixMap(ModelCom.java:1083)
      	at org.apache.jena.shared.impl.PrefixMappingImpl.setNsPrefixes(PrefixMappingImpl.java:138)
      	at org.apache.jena.rdf.model.impl.ModelCom.setNsPrefixes(ModelCom.java:1055)
      	at org.apache.jena.sparql.engine.QueryExecutionBase.insertPrefixesInto(QueryExecutionBase.java:611)
      	at org.apache.jena.sparql.engine.QueryExecutionBase.execConstruct(QueryExecutionBase.java:217)
      	at org.apache.jena.sparql.engine.QueryExecutionBase.execConstruct(QueryExecutionBase.java:207)
      	at org.apache.jena.sparql.util.QueryExecUtils.doConstructQuery(QueryExecUtils.java:162)
      	at org.apache.jena.sparql.util.QueryExecUtils.executeQuery(QueryExecUtils.java:83)
      	at arq.query.lambda$0(query.java:225)
      	at org.apache.jena.system.Txn.exec(Txn.java:77)
      	at org.apache.jena.system.Txn.executeRead(Txn.java:115)
      	at arq.query.queryExec(query.java:222)
      	at arq.query.exec(query.java:153)
      	at jena.cmd.CmdMain.mainMethod(CmdMain.java:93)
      	at jena.cmd.CmdMain.mainRun(CmdMain.java:58)
      	at jena.cmd.CmdMain.mainRun(CmdMain.java:45)
      	at tdb2.tdbquery.main(tdbquery.java:30)
      

      Attachments

        1. D-prefix.ttl
          0.1 kB
          Andy Seaborne
        2. Q-prefix.rq
          0.1 kB
          Andy Seaborne

        Activity

          People

            andy Andy Seaborne
            andy Andy Seaborne
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 40m
                40m