5 Replies Latest reply on May 10, 2010 4:58 PM by 715399

    ORA-55312: échec de l'analyse du triplet

    771415
      Hi,

      I'm using Oracle 11g especially it's semantic's part, Jena and JenaAdaptor.
      I've created a table called "owltst" and fill it with millions of triples via a java program using jena adaptor apis:

      String query = "INSERT INTO owltst VALUES(1, sdo_rdf_triple_s('owltst', 'http://foo.com/name/John', 'http://www.w3.org/2002/07/owl#sameAs', 'http://foo.com/name/JohnQ'))"
      oracle.executeQuery(query);



      For some reasons I had to remove all the data.
      For this purpose I have empty this table ("owltst") using SQL Developper User interface : right-click on the table's name -> table -> Empty.
      So my table is now empty.

      But since then I can't directly insert any new triple:
      The first time I try to insert a triple, all the ressources are inserted into the RDF_VALUE$ table, but nothing into owltst.
      The following exception is throwed :



      Exception in thread "main" java.sql.SQLException: ORA-55312: échec de l'analyse du triplet : id-form : 2798728205642892634 834132227519661324 4016149533173549788
      ORA-06512: à "MDSYS.MD", ligne 1723
      ORA-06512: à "MDSYS.MDERR", ligne 38
      ORA-06512: à "MDSYS.SDO_RDF_INTERNAL", ligne 3052
      ORA-06512: à "MDSYS.OWLTST_INS", ligne 37
      ORA-04088: erreur lors d'exécution du déclencheur 'MDSYS.OWLTST_INS'

      at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
      at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
      at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:413)
      at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:1034)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:194)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:953)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1222)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3387)
      at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3431)
      at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
      at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:352)
      at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:315)
      at oracle.spatial.rdf.client.jena.Oracle.executeQuery(Oracle.java:291)
      at AjoutsTriplets_NT.main(AjoutsTriplets_NT.java:55)
                     


           
      But the second time I try to insert the same triple, it's correctly inserted without any exceptions.

      Does someone know how to resolve this problem?