6 Replies Latest reply on Jan 16, 2014 5:07 PM by alwu-Oracle

    Saving inferred RDF data into an Oracle NoSQL database

    marc980813

      Hi all,

       

      I understand from the examples given by the jena-adapter that you can persist inferred triples with a rulebase ID as a Tag.

       

      I also tested as an alternative the Oracle Plug in Protégé to persist the inferred triples by giving a new graph name.

       

      This works all fine with Jena OWL_MEM_RULE_INF, Trowl or Pellet when the amount of triples is quite small. I tested it with the wine ontology for example .

      But Protégé is having a problem with a few 100000 triples read from the the Nosql DB, so this option is very limited.

       

      So the problem I see is that all this reasoning is taking place in Memory. What if my RDF data are in the Billions of triples ? Is there a way to do streaming with Trowl or Pellet ?

       

      Marc

        • 1. Re: Saving inferred RDF data into an Oracle NoSQL database
          alwu-Oracle

          Hi Marc,

           

          We have contacted TrOWL team. We will post a response once we hear from them.

           

          Thanks,


          Zhe

          • 2. Re: Saving inferred RDF data into an Oracle NoSQL database
            alwu-Oracle

            Hi Marc,

             

            Got the following response from Dr. Jeff Z Pan.

             

            Hope it helps,

             

            Zhe

             

            ---------------------------------

            But Protégé is having a problem with a few 100000 triples read from the

            the Nosql DB, so this option is very limited.

            A few 100,000 triples should still be doable in memory. This problem can
            be caused by the implementation of Protégé, or the reasoner plug-ins, or the complexity involved. Please give OWL-DBC a try and see how it works.



            Is there a way to do streaming with Trowl or Pellet?
            TrOWL supports memory-based stream reasoning.


            What if my RDF data are in the Billions of triples ?
            Follow the best practice in the white paper of OWL-DBC. More precisely,

            1) if the dataset contains a relatively small schema (TBox) and a large
            potion f data (ABox), you should use TrOWL to classify the TBox and use
            Oracle native inference engine to handle the much larger Abox. The
            reasoning might be incomplete, if the given Tbox is beyond OWL 2 QL.

            2) if the schema (Tbox) is to large to be handled in memory, you should
            cut it into smaller pieces so that each piece can be reasoned with in
            memory and independently. The reasoning might be incomplete, if the
            given
            Tbox is not modularisable.
            • 3. Re: Saving inferred RDF data into an Oracle NoSQL database
              marc980813

              Hi Zhe,

                 Thanks. OK let me try that on my data set. I will post the result ASAP

              Marc

              • 4. Re: Saving inferred RDF data into an Oracle NoSQL database
                marc980813

                Hi Zhe,

                 

                   How can I make OWL-DBC work together with Oracle NoSQL? To my uunderstanding OWL-DBC is only meant to work with Oracle Spatial and Graphs.

                Here is what I tried :

                 

                OracleNoSqlConnection conn = OracleNoSqlConnection.createInstance(szStoreName,
                              szHostName,
                                szHostPort);

                 

                   OracleGraphNoSql graph = new OracleGraphNoSql(conn);
                    // initialise and oracle semantic model
                      model = new OracleModelNoSql(graph);
                   // create OWL-DBC object for an Oracle semantic model
                    OWLDBC odbc = new OWLDBC(model);

                 

                Error -->Multiple markers at this line

                    - The type oracle.spatial.rdf.client.jena.ModelOracleSem cannot be resolved. It is indirectly referenced from required .class files

                    - The constructor OWLDBC(ModelOracleSem) refers to the missing type ModelOracleSem

                 

                Thanks

                Marc

                • 5. Re: Saving inferred RDF data into an Oracle NoSQL database
                  marc980813

                  Hi all,

                   

                    I don't think that Trowl OWL-DBC works with Oracle NoSQL. OWL-DBC is for Oracle Spatial and Graphs. Is there a way to use standard Trowl with streaming on large volumes of data?

                    I would like to generate the inferred triples into an N-Triples file on a Linux machine and the import the result into Oracle NoSQL or Oracle Spatial & Graphs. We talk about 5 billion triples to be inferred. I could also provide the inferred triples to Trowl as a set of files instead of reading from the DB....

                   

                  Regards

                  Marc

                  • 6. Re: Saving inferred RDF data into an Oracle NoSQL database
                    alwu-Oracle

                    Hi Marc,

                     

                    Looks like you have a very interesting use case. Please contact me offline (alan dot wu at oracle dot com). I'd like

                    to know a bit more details about your application.

                     

                    Cheers,

                     

                    Zhe Wu