3 Replies Latest reply on Jan 28, 2008 11:32 PM by Mannamal-Oracle

    RDF Networks

    619547
      In a 10.2.0.3 database, we created an RDF network with this command:

      EXECUTE SDO_RDF.CREATE_RDF_NETWORK('rdf_tblspace');

      Later, the user asked for an additional tablespace and a corresponding network. However, when this command is executed:

      EXECUTE SDO_RDF.CREATE_RDF_NETWORK('rdf_perf');

      --we get this error:
      ORA-13199: RDF NETWORK already exists

      Can there be only one RDF network per database? If not, how do I overcome this error?

      TIA
        • 1. Re: RDF Networks
          Mannamal-Oracle
          Hi,

          Yes, a database can have only one RDF network. Within this RDF network there can be multiple models - a model is a set of triples. So multiple models can be created to represent different sets of triples (RDF graphs). Appropriate permissions can be granted to isolate a model from the rest of the models in the database if necessary.

          An RDF network can be considered to be a framework, with the ability to store multiple RDF graphs within the network.

          Melli
          • 2. Re: RDF Networks
            619547
            Thank you for the reply. This is my user's response:

            We already have created and used different models for different
            datasets. My concern is that all of these models store their data in
            the same set of system tables (mdsys.rdf_value$ and mdsys.rdf_link$).
            Each model is stored as a horizontal partition of the rdf_link$ table,
            but rdf_value$ is not partitioned. In this scheme, a small rdf model
            would still have to deal with the entire rdf_value$ table.
            ------
            Would there be any performance value in partitioning the rdf_value$ table?
            • 3. Re: RDF Networks
              Mannamal-Oracle
              It is true that the rdf_value$ table is not partitioned, but it has the relevant indexes for best performance. The rdf_link$ table is traversed to identify links and it is here that the entire table should not be traversed for a small model, and partitioning takes care of that. The rdf_value$ table is only accessed to identify certain values, and that is very efficient with appropriate indexes.

              In summary, lack of partitioning on the rdf_value$ should not affect performance at all.

              Melli