5 Replies Latest reply: Jun 25, 2014 11:21 AM by alwu-Oracle RSS

    OWL2EL Inference

    user10439411

      Hi,

       

      I'm using Oracle 12c RDF Semantic Graph to perform some inference with the OWL2EL ontology SNOMED.

       

      I follow the example provided in the documentation:

       

      CREATE TABLE snomed_tpl (triple SDO_RDF_TRIPLE_S) COMPRESS;

      EXECUTE sem_apis.create_sem_model('snomed','snomed_tpl','triple') compress;

       

      Till this point everything seems to work fine, although the EXECUTE statement does not accept "compress", so I simply run:

       

      EXECUTE sem_apis.create_sem_model('snomed','snomed_tpl','triple');

       

      before start inserting the data into the model.

       

      Then, I start the inference using the following statement:

       

      -- Now run inference using the OWL2EL rulebase

      EXECUTE sem_apis.create_entailment('snomed_inf',sem_models('snomed'),sem_rulebases('owl2el'));

       

      which crashes with the following error:

       

      ERROR at line 1:

      ORA-01652: unable to extend temp segment by 128 in tablespace TEMP

      ORA-06512: at "MDSYS.SDO_SEM_INF_INTERNAL", line 16453

      ORA-06512: at "MDSYS.SDO_SEM_INFERENCE", line 302

      ORA-06512: at "MDSYS.SDO_SEM_INFERENCE", line 352

      ORA-06512: at "MDSYS.RDF_APIS", line 118

      ORA-06512: at line 1

       

      I tried to increase the temp file size. Oracle does not allow me to define a temp file bigger than 32g, so I just added 5 temp files of 32g which they are indeed used by the process.

      Even with ~150G of temp files, the process crashes with the same error (after running for more than 6 hours). However, the ontology is not that big, so I guess I do something wrong here... Any suggestions are appreciated.

       

      Oracle is installed in a server with 64G of RAM (I do not use a VM) having 40G for SGA and 20G for PGA.

       

      Is there any other specific configuration regarding the inference models? Do I have to create any indexes on the triple table to improve performance?

       

      And a last question. Since SNOMED is mentioned in the documentation, are there any publicly available experimental results of Oracle on this ontology?

       

      Thanks a lot in advance,

      john

        • 1. Re: OWL2EL Inference
          alwu-Oracle

          Hi John,

           

          It is in general a good idea to use BIGFILE tablespace.

           

          create bigfile temporary tablespace bigtmpts  tempfile '/your_directory_here/bigtmpts.dat' size 512M reuse autoextend on next 512M maxsize unlimited;

           

          We have experimented with SNOMED ontology and it works fine. Maybe the SNOMED you tried has a different version. If you like, please

          contact Oracle Support, file an SR and attach your SNOMED ontology. Let me know if you don't have a support account.

           

          Thanks,

           

          Zhe Wu

          • 2. Re: OWL2EL Inference
            user10439411

            Thanks a lot for the immediate response.

             

            I'll try with a BIGFILE temporary tablespace. Do I have to create any indexes on the triples table before I start the inference?? Does this improve performance or the indexes are constructed by the system anyway?

             

            I'll also fill an SR in case the BIGFILE won't work. My version of SNOMED is an old one (a few years ago).

             

            Thanks again,

            john

            • 3. Re: OWL2EL Inference
              alwu-Oracle

              Hi John,

               

              No. Additional indexes does not help inference.  This is the command line I used when invoking EL on SNOMED:

               

              exec sem_apis.create_entailment('snomed_inf',sem_models('snomed'),sem_rulebases('owl2el'),0,'','DOP=4,USE_PRH=T,USE_DELTA=T,HASH_PART=64,MIN_STATS=T');

               

               

              Hope it helps,

               

              Zhe Wu

              • 4. Re: OWL2EL Inference
                user10439411

                It worked fine. Thanks!!

                • 5. Re: OWL2EL Inference
                  alwu-Oracle

                  That is great. Note that DOP=4 in the above command line denotes the "degree of parallelism" is 4. If you have a powerful machine with a nice I/O sub system, you can set DOP at a higher value for better performance.

                   

                  Thanks,


                  Zhe Wu