2 Replies Latest reply on Mar 19, 2019 1:47 PM by yenier

    SPARQL CONSTRUCT query throws a PGA memory error

    yenier

      Hi:

       

      I created an RDF model (called 'mondial_schema') with the triples of MONDIAL database (https://www.dbis.informatik.uni-goettingen.de/Mondial/ ).

       

      I want to include into the created model the schema triples of the RDF graph.

       

      • For example:

       

      To include the triples about the schema classes, I'm running the following construct query:

       

      SELECT subj$rdfterm, pred$rdfterm, obj$rdfterm
      FROM TABLE(SEM_MATCH(
        'CONSTRUCT
         {
           ?class rdf:type rdfs:Class .
           ?class rdfs:label ?label
         }
         WHERE
         {
            {
               select distinct ?class 
               {
                  ?s rdf:type ?class .
               }
            }
            bind(replace(replace(replace(str(?class),  ".*(#|/)", ""), "([^_])([A-Z])","$1_$2"), "_"," ") as ?label)
        }',
      SEM_Models('mondial_schema'),null,null, null));
      

       

      -- By the way, there are 27 classes --

       

      The query throws the following error:

       

      ORA-04036: PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT

      ORA-06512: at "MDSYS.RDF_MATCH_IMPL_T", line 888

      ORA-06512: at line 1

      04036. 00000 -  "PGA memory used by the instance exceeds PGA_AGGREGATE_LIMIT"

      *Cause:    Private memory across the instance exceeded the limit specified

                 in the PGA_AGGREGATE_LIMIT initialization parameter.  The largest

                 sessions using Program Global Area (PGA) memory were interrupted

                 to get under the limit.

      *Action:   Increase the PGA_AGGREGATE_LIMIT initialization parameter or reduce

                 memory usage.

       

      The features of the Oracle server are:

      • Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
      • pga_aggregate_limit = 4G  
      • pga_aggregate_target = 772M

       

      Why this error and how to solve it?

       

      Thanks in advance,

       

      Yenier