Applying Oracle Machine Learning Algorithms to RDF Data

You can apply Oracle Machine Learning algorithms to RDF data.

Oracle Data Mining requires data to be in a single table or view, and each row represents a single case. Therefore, RDF data needs to be defined as a view mimicking this structure. To accomplish that, do the following:

  1. Find the number of predicates of interest: P1, P2, P3, … , Pn.

  2. Create a view with columns (S, C1, C2, C3, …. , Cn), where columns correspond to the subject, P1, P2, …, and Pn.

    Depending upon requirements, such as a text column that needs to be defined in a table, you can also create a table.

    Convert numerical values using the TO_NUMBER or CAST function.

    For example:

    CREATE VIEW ML_TAB (S, C1, C2, C3, … , Cn)
    AS
    SELECT subj, O1, to_number(O2), CAST (O3 AS INTEGER), ... , On
    FROM TABLE(SEM_MATCH(
    'SELECT ?subj ?O1 ?O2 ?O3 … ?On
     WHERE {
       OPTIONAL { ?subj P1 ?O1 }
       OPTIONAL { ?subj P2 ?O2 }
       OPTIONAL { ?subj P3 ?O3 }
    ….
       OPTIONAL { ?subj Pn ?On }
     }'
    , SEM_MODELS('M1')
    ,null, null, null, null));

    Now the view looks something like this:

    SQL> SELECT * FROM ML_TAB;
    S          C1                        C2          C3
    
    ---------- -------------------- -------------------- --------------------
    S1         O11            O21             O31
    S2         O21                             O32
    S3                       O23

After you have this structure defined, you can directly apply Oracle Machine Learning algorithms on this view. Oracle Data Mining deals with three types of attributes:

You must separate the data into three groups based on the data types of the three types of attributes.