Apache Jena
  1. Apache Jena
  2. JENA-239

Cannot insert a triple into JenaTDB through Fuseki's sparql update functionality.

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Created a TDB database using bulkloader (using Jena-TDB-0.8.10 libraries). Trying to insert a triple using fuseki's sparql update functionality and keeps getting error:

      Different ids for http://xxxxxx.xxxx.xxx.xx/xx/company/99999999: allocated: ex
      pected [000000000007E5ED], got [000000000007DEF4]
      >>>>>>>>>>
      label = nodes
      txn = Transaction: 1 : Mode=WRITE : State=PREPARING : E:\Rahul\fuseki\Dataset\
      offset = 517613
      journalStartOffset = 1785
      journal = nodes.dat-jrnl

      12:49:05 WARN SPARQL_Update$HttpActionUpdate :: Transaction still active in end
      Writer - no commit or abort seen (forced abort)
      12:49:05 WARN SPARQL_Update$HttpActionUpdate :: Exception in forced abort (tryi
      ng to continue)
      com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Transaction has already
      committed or aborted
      at com.hp.hpl.jena.tdb.transaction.Transaction.abort(Transaction.java:14
      6)
      at com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.abort(DatasetGraphTxn
      .java:45)
      at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._abort(Datase
      tGraphTransaction.java:113)
      at com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.abort(DatasetGrap
      hTrackActive.java:68)
      at org.apache.jena.fuseki.servlets.HttpAction.endWrite(HttpAction.java:1
      20)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j
      ava:238)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Upda
      te.java:225)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j
      ava:122)
      at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se
      rvletBase.java:92)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja
      va:78)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547
      )
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
      :480)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
      er.java:225)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
      er.java:941)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
      409)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
      r.java:186)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
      r.java:875)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
      ava:117)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
      .java:110)
      at org.eclipse.jetty.server.Server.handle(Server.java:349)
      at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.
      java:441)
      at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo
      nnection.java:936)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)

      at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpCo
      nnection.java:50)
      at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannel
      EndPoint.run(BlockingChannelConnector.java:293)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
      l.java:598)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
      .java:533)
      at java.lang.Thread.run(Thread.java:722)
      12:49:05 WARN Fuseki :: [1] RC = 500 : Different ids for http://x
      xxxxx.xxxx.xxx.xx/xx/company/99999999: allocated: expected [000000000007E5ED],
      got [000000000007DEF4]
      com.hp.hpl.jena.tdb.TDBException: Different ids for http://xxxxxx.xxxx.xxx.xx/
      xx/company/99999999: allocated: expected [000000000007E5ED], got [000000000007DE
      F4]
      at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.inconsistent(NodeTable
      Trans.java:212)
      at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(NodeTableTrans.
      java:200)
      at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.writeNodeJournal(NodeT
      ableTrans.java:306)
      at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(NodeTabl
      eTrans.java:266)
      at com.hp.hpl.jena.tdb.transaction.Transaction.prepare(Transaction.java:
      131)
      at com.hp.hpl.jena.tdb.transaction.Transaction.commit(Transaction.java:1
      12)
      at com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.commit(DatasetGraphTx
      n.java:40)
      at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._commit(Datas
      etGraphTransaction.java:107)
      at com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.commit(DatasetGra
      phTrackActive.java:60)
      at org.apache.jena.fuseki.servlets.HttpAction.commit(HttpAction.java:105
      )
      at org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j
      ava:235)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Upda
      te.java:225)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j
      ava:122)
      at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se
      rvletBase.java:92)
      at org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja
      va:78)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547
      )
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
      :480)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
      er.java:225)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
      er.java:941)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
      409)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
      r.java:186)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
      r.java:875)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
      ava:117)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
      .java:110)
      at org.eclipse.jetty.server.Server.handle(Server.java:349)
      at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.
      java:441)
      at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo
      nnection.java:936)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)

      at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpCo
      nnection.java:50)
      at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannel
      EndPoint.run(BlockingChannelConnector.java:293)
      at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
      l.java:598)
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
      .java:533)
      at java.lang.Thread.run(Thread.java:722)
      12:49:05 INFO Fuseki :: [1] 500 Different ids for http://xxxxxxxx
      /xx/company/99999999: allocated: expected [000000000007E5ED], got [0
      00000000007DEF4]

        Activity

        Hide
        Andy Seaborne added a comment -

        Thanks for confirming the problem is fixed (as of the builds this week). The fix is in ARQ, it has worked its way through the various build processes.

        Show
        Andy Seaborne added a comment - Thanks for confirming the problem is fixed (as of the builds this week). The fix is in ARQ, it has worked its way through the various build processes.
        Hide
        Rahul Sharma added a comment -

        ok.

        Sequence of actions:
        1) (I have done this already) So I have Jena-Fuseki-0.2.2. I configure it to multiple datasets making sure I have two fresh empty datasets A and C and a pre-filled dataset B. Dataset B is filled with TDBLoader -0.9.1 and contains some set of triples (could be any set of triples).
        2) First for Dataset A, I run the following query using Fuseki's update functionality:
        INSERT DATA

        { <http://xxxxxxxx.data.xxx.uk/id/company/XXXXXXXX> <http://artesi.an/company#hasSearchExpression> <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> . <http://americ.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://americ.an/company#searchExpression> "\"bmw (gb)\""^^<http://www.w3.org/2001/XMLSchema#string> . <http://americ.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://americ.an/company#isRegex> "False"^^<http://www.w3.org/2001/XMLSchema#boolean> . }

        3) Its a valid update and I can see the triples in Dataset A. I do similar for Dataset C and then empty Dataset A.
        4) I repeat step 2 and 3 with random data until I am happy that Dataset C is somewhat filled up (say 500 triples).
        5) I then run the same SPARQL query for Dataset B and it throws me the error:
        "Error 500: Not a node: False"

        These are the steps I've followed. Although to note that this ticket must be closed because updating to a newer version of fuseki development build did fix my issue.

        Show
        Rahul Sharma added a comment - ok. Sequence of actions: 1) (I have done this already) So I have Jena-Fuseki-0.2.2. I configure it to multiple datasets making sure I have two fresh empty datasets A and C and a pre-filled dataset B. Dataset B is filled with TDBLoader -0.9.1 and contains some set of triples (could be any set of triples). 2) First for Dataset A, I run the following query using Fuseki's update functionality: INSERT DATA { <http://xxxxxxxx.data.xxx.uk/id/company/XXXXXXXX> <http://artesi.an/company#hasSearchExpression> <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> . <http://americ.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://americ.an/company#searchExpression> "\"bmw (gb)\""^^<http://www.w3.org/2001/XMLSchema#string> . <http://americ.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://americ.an/company#isRegex> "False"^^<http://www.w3.org/2001/XMLSchema#boolean> . } 3) Its a valid update and I can see the triples in Dataset A. I do similar for Dataset C and then empty Dataset A. 4) I repeat step 2 and 3 with random data until I am happy that Dataset C is somewhat filled up (say 500 triples). 5) I then run the same SPARQL query for Dataset B and it throws me the error: "Error 500: Not a node: False" These are the steps I've followed. Although to note that this ticket must be closed because updating to a newer version of fuseki development build did fix my issue.
        Hide
        Andy Seaborne added a comment -

        It would be helpful if you can provide a complete, minimal example.

        Complete =>
        code someone can run (or a clear sequence of actions)
        data to use

        "loaded some data" is not a complete description
        How did C get any data in it if B broke?

        Minimal => no larger than necessary - a small amount of data.
        Some long update isn't minimal, nor is a complete dump of your data/

        My example, on an empty, fresh dataset in Fuseki, generates an error on the version of Fuseki from 20120411.050809-12

        Show
        Andy Seaborne added a comment - It would be helpful if you can provide a complete, minimal example. Complete => code someone can run (or a clear sequence of actions) data to use "loaded some data" is not a complete description How did C get any data in it if B broke? Minimal => no larger than necessary - a small amount of data. Some long update isn't minimal, nor is a complete dump of your data/ My example, on an empty, fresh dataset in Fuseki, generates an error on the version of Fuseki from 20120411.050809-12
        Hide
        Rahul Sharma added a comment -

        Thank you for your reply.

        Lets please first name the datasets -
        Dataset A -> Empty and Fresh.
        Dataset B -> Not Empty and is not Fresh ( filled using TDBLoader).
        Dataset C -> Dataset A which is now filled with some triples.

        Indeed "False"^^xsd:boolean is not a legal lexical form for a boolean but strangely, Jena accepts it if the dataset is A or C. Like I said before, the query above I mentioned works without any hiccups on dataset A. And I tried adding many more triples with the same Camel Cased Boolean values and it sat finely onto the dataset C.

        The "not a valid node" error is received only for Dataset B.

        Show
        Rahul Sharma added a comment - Thank you for your reply. Lets please first name the datasets - Dataset A -> Empty and Fresh. Dataset B -> Not Empty and is not Fresh ( filled using TDBLoader). Dataset C -> Dataset A which is now filled with some triples. Indeed "False"^^xsd:boolean is not a legal lexical form for a boolean but strangely, Jena accepts it if the dataset is A or C. Like I said before, the query above I mentioned works without any hiccups on dataset A. And I tried adding many more triples with the same Camel Cased Boolean values and it sat finely onto the dataset C. The "not a valid node" error is received only for Dataset B.
        Hide
        Andy Seaborne added a comment - - edited

        jena-fuseki-0.2.2-incubating-20120411.050809-12 is the latest build (11th April) not 20120405-0506 (5th April). (Also, the version id looks strange - it should date-time and time is 6 numbers, not 4).

        It would be helpful if you can provide a complete, minimal example. You have run the server with multiple datasets with existing data in them - if the situation can be reproduced with just one, especially an empty, fresh dataset that would be useful information in the report.

        This looks like a different error - it manifests in a similar way but it is not to the initial report.

        That particular error ("not a node") is caused here by "False"^^xsd:boolean. While the system should not crash, this isn't what you want - "False" is not a legal lexical form for a boolean. "false" or "0" are. SPARQL has a keyword false (any case) for this.

        Please could you try on an fresh, empty dataset each time, the following:

        PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
        PREFIX : <http://example/>

        INSERT DATA { :s 'False'^^xsd:boolean }

        and

        PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
        PREFIX : <http://example/>

        INSERT DATA { :s 'false'^^xsd:boolean }

        which is the two cases of legal and illegal lexical forms. Then, we might know if the situation is due to the state of the database or solely the request.

        Show
        Andy Seaborne added a comment - - edited jena-fuseki-0.2.2-incubating-20120411.050809-12 is the latest build (11th April) not 20120405-0506 (5th April). (Also, the version id looks strange - it should date-time and time is 6 numbers, not 4). It would be helpful if you can provide a complete, minimal example. You have run the server with multiple datasets with existing data in them - if the situation can be reproduced with just one, especially an empty, fresh dataset that would be useful information in the report. This looks like a different error - it manifests in a similar way but it is not to the initial report. That particular error ("not a node") is caused here by "False"^^xsd:boolean. While the system should not crash, this isn't what you want - "False" is not a legal lexical form for a boolean. "false" or "0" are. SPARQL has a keyword false (any case) for this. Please could you try on an fresh, empty dataset each time, the following: PREFIX xsd: < http://www.w3.org/2001/XMLSchema# > PREFIX : < http://example/ > INSERT DATA { :s 'False'^^xsd:boolean } and PREFIX xsd: < http://www.w3.org/2001/XMLSchema# > PREFIX : < http://example/ > INSERT DATA { :s 'false'^^xsd:boolean } which is the two cases of legal and illegal lexical forms. Then, we might know if the situation is due to the state of the database or solely the request.
        Hide
        Rahul Sharma added a comment -

        I run the following SPARQL query on the updated dataset(created using Jena-TDB-0.9.1) :
        INSERT DATA

        { <http://xxxxxxxx.data.xxx.uk/id/company/XXXXXXXX> <http://artesi.an/company#hasSearchExpression> <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> . <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://artesi.an/company#searchExpression> "\"bmw (gb)\""^^<http://www.w3.org/2001/XMLSchema#string> . <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://artesi.an/company#isRegex> "False"^^<http://www.w3.org/2001/XMLSchema#boolean> . <http://xxxxxxxx.data.xxx.uk/id/company/XXXXXXXX> <http://artesi.an/company#hasSearchExpression> <http://artesi.an/company/srchExpression/c2a2e7821f7c4f7897074473d3757647> . <http://artesi.an/company/srchExpression/c2a2e7821f7c4f7897074473d3757647> <http://artesi.an/company#searchExpression> "\"bmw (great britain)\""^^<http://www.w3.org/2001/XMLSchema#string> . <http://artesi.an/company/srchExpression/c2a2e7821f7c4f7897074473d3757647> <http://artesi.an/company#isRegex> "False"^^<http://www.w3.org/2001/XMLSchema#boolean> . }

        and I get error:
        "Error 500: Not a node: False

        Fuseki - version 0.2.2-incubating-SNAPSHOT (Build date: 20120405-0506)."

        The query must be correct since the query adds triples to an empty dataset without any hiccups.

        Following is the detailed error:

        e:\Rahul\fuseki>java -Xmx8G -jar fuseki-server.jar --config=config.ttl
        08:29:44 INFO Config :: Configuration file: config.ttl
        08:29:44 INFO Config :: Service: :service1
        08:29:44 INFO Config :: name = Artesian
        08:29:44 INFO Config :: query = /Artesian/query
        08:29:44 INFO Config :: query = /Artesian/sparql
        08:29:44 INFO Config :: update = /Artesian/update
        08:29:45 INFO Config :: Service: :service2
        08:29:45 INFO Config :: name = newcompaniesdata
        08:29:45 INFO Config :: query = /newcompaniesdata/query
        08:29:45 INFO Config :: query = /newcompaniesdata/sparql
        08:29:45 INFO Config :: update = /newcompaniesdata/update
        08:29:45 INFO Config :: Service: :service3
        08:29:45 INFO Config :: name = query
        08:29:45 INFO Config :: query = /query/sparql
        08:29:45 INFO Config :: update = /query/update
        08:29:45 INFO Server :: Dataset path = /Artesian
        08:29:45 INFO Server :: Dataset path = /newcompaniesdata
        08:29:45 INFO Server :: Dataset path = /query
        08:29:45 INFO Server :: Fuseki 0.2.2-incubating-SNAPSHOT 20120405
        -0506
        08:29:45 INFO Server :: Jetty 7.x.y-SNAPSHOT
        08:29:45 INFO Server :: Started 2012/04/30 08:29:45 BST on port 3
        030
        08:29:53 INFO Fuseki :: [1] POST http://localhost:3030/Artesian/u
        pdate
        08:29:53 WARN SPARQL_Update$HttpActionUpdate :: Transaction still active in end
        Writer - no commit or abort seen (forced abort)
        08:29:53 WARN SPARQL_Update$HttpActionUpdate :: Exception in forced abort (tryi
        ng to continue)
        com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Transaction has already
        committed or aborted
        at com.hp.hpl.jena.tdb.transaction.Transaction.abort(Transaction.java:14
        6)
        at com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.abort(DatasetGraphTxn
        .java:45)
        at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._abort(Datase
        tGraphTransaction.java:151)
        at com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.abort(DatasetGrap
        hTrackActive.java:68)
        at org.apache.jena.fuseki.servlets.HttpAction.endWrite(HttpAction.java:1
        20)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j
        ava:238)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Upda
        te.java:225)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j
        ava:122)
        at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se
        rvletBase.java:92)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja
        va:78)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547
        )
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
        :480)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
        er.java:225)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
        er.java:941)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
        409)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
        r.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
        r.java:875)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
        ava:117)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
        .java:110)
        at org.eclipse.jetty.server.Server.handle(Server.java:349)
        at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.
        java:441)
        at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo
        nnection.java:936)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)

        at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpCo
        nnection.java:50)
        at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannel
        EndPoint.run(BlockingChannelConnector.java:293)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
        l.java:598)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
        .java:533)
        at java.lang.Thread.run(Thread.java:722)
        08:29:53 WARN Fuseki :: [1] RC = 500 : Not a node: False
        com.hp.hpl.jena.tdb.TDBException: Not a node: False
        at com.hp.hpl.jena.tdb.nodetable.NodecSSE.decode(NodecSSE.java:116)
        at com.hp.hpl.jena.tdb.lib.NodeLib.decode(NodeLib.java:93)
        at com.hp.hpl.jena.tdb.nodetable.NodeTableNative$2.convert(NodeTableNati
        ve.java:234)
        at com.hp.hpl.jena.tdb.nodetable.NodeTableNative$2.convert(NodeTableNati
        ve.java:228)
        at org.openjena.atlas.iterator.Iter$4.next(Iter.java:301)
        at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(NodeTableTrans.
        java:188)
        at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.writeNodeJournal(NodeT
        ableTrans.java:306)
        at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(NodeTabl
        eTrans.java:266)
        at com.hp.hpl.jena.tdb.transaction.Transaction.prepare(Transaction.java:
        131)
        at com.hp.hpl.jena.tdb.transaction.Transaction.commit(Transaction.java:1
        12)
        at com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.commit(DatasetGraphTx
        n.java:40)
        at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._commit(Datas
        etGraphTransaction.java:144)
        at com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.commit(DatasetGra
        phTrackActive.java:60)
        at org.apache.jena.fuseki.servlets.HttpAction.commit(HttpAction.java:105
        )
        at org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j
        ava:235)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Upda
        te.java:225)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j
        ava:122)
        at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se
        rvletBase.java:92)
        at org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja
        va:78)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547
        )
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java
        :480)
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl
        er.java:225)
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl
        er.java:941)
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:
        409)
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle
        r.java:186)
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle
        r.java:875)
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j
        ava:117)
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper
        .java:110)
        at org.eclipse.jetty.server.Server.handle(Server.java:349)
        at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.
        java:441)
        at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo
        nnection.java:936)
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)

        at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpCo
        nnection.java:50)
        at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannel
        EndPoint.run(BlockingChannelConnector.java:293)
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo
        l.java:598)
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool
        .java:533)
        at java.lang.Thread.run(Thread.java:722)
        08:29:53 INFO Fuseki :: [1] 500 Not a node: False

        Show
        Rahul Sharma added a comment - I run the following SPARQL query on the updated dataset(created using Jena-TDB-0.9.1) : INSERT DATA { <http://xxxxxxxx.data.xxx.uk/id/company/XXXXXXXX> <http://artesi.an/company#hasSearchExpression> <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> . <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://artesi.an/company#searchExpression> "\"bmw (gb)\""^^<http://www.w3.org/2001/XMLSchema#string> . <http://artesi.an/company/srchExpression/16c6fddad97c4ec18822124d0b81cdc6> <http://artesi.an/company#isRegex> "False"^^<http://www.w3.org/2001/XMLSchema#boolean> . <http://xxxxxxxx.data.xxx.uk/id/company/XXXXXXXX> <http://artesi.an/company#hasSearchExpression> <http://artesi.an/company/srchExpression/c2a2e7821f7c4f7897074473d3757647> . <http://artesi.an/company/srchExpression/c2a2e7821f7c4f7897074473d3757647> <http://artesi.an/company#searchExpression> "\"bmw (great britain)\""^^<http://www.w3.org/2001/XMLSchema#string> . <http://artesi.an/company/srchExpression/c2a2e7821f7c4f7897074473d3757647> <http://artesi.an/company#isRegex> "False"^^<http://www.w3.org/2001/XMLSchema#boolean> . } and I get error: "Error 500: Not a node: False Fuseki - version 0.2.2-incubating-SNAPSHOT (Build date: 20120405-0506)." The query must be correct since the query adds triples to an empty dataset without any hiccups. Following is the detailed error: e:\Rahul\fuseki>java -Xmx8G -jar fuseki-server.jar --config=config.ttl 08:29:44 INFO Config :: Configuration file: config.ttl 08:29:44 INFO Config :: Service: :service1 08:29:44 INFO Config :: name = Artesian 08:29:44 INFO Config :: query = /Artesian/query 08:29:44 INFO Config :: query = /Artesian/sparql 08:29:44 INFO Config :: update = /Artesian/update 08:29:45 INFO Config :: Service: :service2 08:29:45 INFO Config :: name = newcompaniesdata 08:29:45 INFO Config :: query = /newcompaniesdata/query 08:29:45 INFO Config :: query = /newcompaniesdata/sparql 08:29:45 INFO Config :: update = /newcompaniesdata/update 08:29:45 INFO Config :: Service: :service3 08:29:45 INFO Config :: name = query 08:29:45 INFO Config :: query = /query/sparql 08:29:45 INFO Config :: update = /query/update 08:29:45 INFO Server :: Dataset path = /Artesian 08:29:45 INFO Server :: Dataset path = /newcompaniesdata 08:29:45 INFO Server :: Dataset path = /query 08:29:45 INFO Server :: Fuseki 0.2.2-incubating-SNAPSHOT 20120405 -0506 08:29:45 INFO Server :: Jetty 7.x.y-SNAPSHOT 08:29:45 INFO Server :: Started 2012/04/30 08:29:45 BST on port 3 030 08:29:53 INFO Fuseki :: [1] POST http://localhost:3030/Artesian/u pdate 08:29:53 WARN SPARQL_Update$HttpActionUpdate :: Transaction still active in end Writer - no commit or abort seen (forced abort) 08:29:53 WARN SPARQL_Update$HttpActionUpdate :: Exception in forced abort (tryi ng to continue) com.hp.hpl.jena.tdb.transaction.TDBTransactionException: Transaction has already committed or aborted at com.hp.hpl.jena.tdb.transaction.Transaction.abort(Transaction.java:14 6) at com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.abort(DatasetGraphTxn .java:45) at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._abort(Datase tGraphTransaction.java:151) at com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.abort(DatasetGrap hTrackActive.java:68) at org.apache.jena.fuseki.servlets.HttpAction.endWrite(HttpAction.java:1 20) at org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j ava:238) at org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Upda te.java:225) at org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j ava:122) at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se rvletBase.java:92) at org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja va:78) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547 ) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java :480) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl er.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl er.java:941) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java: 409) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle r.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle r.java:875) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j ava:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper .java:110) at org.eclipse.jetty.server.Server.handle(Server.java:349) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection. java:441) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo nnection.java:936) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpCo nnection.java:50) at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannel EndPoint.run(BlockingChannelConnector.java:293) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo l.java:598) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool .java:533) at java.lang.Thread.run(Thread.java:722) 08:29:53 WARN Fuseki :: [1] RC = 500 : Not a node: False com.hp.hpl.jena.tdb.TDBException: Not a node: False at com.hp.hpl.jena.tdb.nodetable.NodecSSE.decode(NodecSSE.java:116) at com.hp.hpl.jena.tdb.lib.NodeLib.decode(NodeLib.java:93) at com.hp.hpl.jena.tdb.nodetable.NodeTableNative$2.convert(NodeTableNati ve.java:234) at com.hp.hpl.jena.tdb.nodetable.NodeTableNative$2.convert(NodeTableNati ve.java:228) at org.openjena.atlas.iterator.Iter$4.next(Iter.java:301) at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.append(NodeTableTrans. java:188) at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.writeNodeJournal(NodeT ableTrans.java:306) at com.hp.hpl.jena.tdb.transaction.NodeTableTrans.commitPrepare(NodeTabl eTrans.java:266) at com.hp.hpl.jena.tdb.transaction.Transaction.prepare(Transaction.java: 131) at com.hp.hpl.jena.tdb.transaction.Transaction.commit(Transaction.java:1 12) at com.hp.hpl.jena.tdb.transaction.DatasetGraphTxn.commit(DatasetGraphTx n.java:40) at com.hp.hpl.jena.tdb.transaction.DatasetGraphTransaction._commit(Datas etGraphTransaction.java:144) at com.hp.hpl.jena.tdb.migrate.DatasetGraphTrackActive.commit(DatasetGra phTrackActive.java:60) at org.apache.jena.fuseki.servlets.HttpAction.commit(HttpAction.java:105 ) at org.apache.jena.fuseki.servlets.SPARQL_Update.execute(SPARQL_Update.j ava:235) at org.apache.jena.fuseki.servlets.SPARQL_Update.executeForm(SPARQL_Upda te.java:225) at org.apache.jena.fuseki.servlets.SPARQL_Update.perform(SPARQL_Update.j ava:122) at org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Se rvletBase.java:92) at org.apache.jena.fuseki.servlets.SPARQL_Update.doPost(SPARQL_Update.ja va:78) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547 ) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java :480) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandl er.java:225) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandl er.java:941) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java: 409) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandle r.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandle r.java:875) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.j ava:117) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper .java:110) at org.eclipse.jetty.server.Server.handle(Server.java:349) at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection. java:441) at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpCo nnection.java:936) at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801) at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpCo nnection.java:50) at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannel EndPoint.run(BlockingChannelConnector.java:293) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPoo l.java:598) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool .java:533) at java.lang.Thread.run(Thread.java:722) 08:29:53 INFO Fuseki :: [1] 500 Not a node: False
        Hide
        Rahul Sharma added a comment -

        The error strangely persists again even when using the latest Fuseki development build.

        Show
        Rahul Sharma added a comment - The error strangely persists again even when using the latest Fuseki development build.
        Hide
        Andy Seaborne added a comment -

        Put the log4j.properties in the current directory (or use the usual log4j way to set via
        -Dlog4j.configuration=)

        Show
        Andy Seaborne added a comment - Put the log4j.properties in the current directory (or use the usual log4j way to set via -Dlog4j.configuration=)
        Hide
        Rahul Sharma added a comment -

        Incorporated latest Fuseki development build which incorporates an update TDB with a fix.
        I Thank Andy for his help!

        Show
        Rahul Sharma added a comment - Incorporated latest Fuseki development build which incorporates an update TDB with a fix. I Thank Andy for his help!
        Hide
        Rahul Sharma added a comment -

        Ok Got all Fixed. Thanks a lot for your help.
        Happy to close the ticket.

        Show
        Rahul Sharma added a comment - Ok Got all Fixed. Thanks a lot for your help. Happy to close the ticket.
        Hide
        Rahul Sharma added a comment -

        Thank you for your comment.

        I created a new TDB dataset using Jena-TDB-0.9.1 libraries and it fixed this issue.

        However while creating the TDB dataset, I could not see the progress of loading of triples to the dataset and I kept getting warning messages:
        "log4j:WARN No appenders could be found for logger (com.hp.hpl.jena.tdb.info).
        log4j:WARN Please initialize the log4j system properly.
        log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info."

        I read one of your comments that by dropping a log4j.properties file into the CLASSPATH should fix the issue. But it hasn't.

        I really appreciate your help and I thank you for all your support and hardwork.

        --Rahul

        Show
        Rahul Sharma added a comment - Thank you for your comment. I created a new TDB dataset using Jena-TDB-0.9.1 libraries and it fixed this issue. However while creating the TDB dataset, I could not see the progress of loading of triples to the dataset and I kept getting warning messages: "log4j:WARN No appenders could be found for logger (com.hp.hpl.jena.tdb.info). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info." I read one of your comments that by dropping a log4j.properties file into the CLASSPATH should fix the issue. But it hasn't. I really appreciate your help and I thank you for all your support and hardwork. --Rahul
        Hide
        Andy Seaborne added a comment -

        try the latest Fuseki development build which incorporates an update TDB with a fix that may explain what you are seeing.

        Seeing the actual SPARQL Update would also be useful.

        Show
        Andy Seaborne added a comment - try the latest Fuseki development build which incorporates an update TDB with a fix that may explain what you are seeing. Seeing the actual SPARQL Update would also be useful.

          People

          • Assignee:
            Andy Seaborne
            Reporter:
            Rahul Sharma
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development