User Tools

Site Tools


Writing /home/academic/ogsavkovic/public_html/wiki/data/cache/0/01f21848de708ef25657604b439f79ee.metadata failed
magik-demo:developer:class:core:queryspecialization

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
magik-demo:developer:class:core:queryspecialization [2013/08/22 10:46]
alex [generateInput]
magik-demo:developer:class:core:queryspecialization [2017/07/06 15:24] (current)
Line 99: Line 99:
  
 <code java> <code java>
-public static String generateInput (ArrayList<​TCStatement>​ currentTCs,  +public static ​java.lang.String generateInput (java.util.ArrayList<​TCStatement>​ currentTCs,  
-                                    Schema schema,  +                                              Schema schema,  
-                                    int maxQSpecSize)+                                              int maxQSpecSize)
 </​code>​ </​code>​
  
Line 118: Line 118:
  
 <code java> <code java>
-public static String generateInput (ArrayList<​TCStatement>​ currentTCs,  +public static ​java.lang.String generateInput (java.util.ArrayList<​TCStatement>​ currentTCs,  
-                                    Schema schema,  +                                              Schema schema,  
-                                    int maxQSpecSize)+                                              int maxQSpecSize)
 </​code>​ </​code>​
  
Line 132: Line 132:
   * String that contains all the prolog code for the given schema and tc-statements   * String that contains all the prolog code for the given schema and tc-statements
  
-----.+---- 
 + 
 +=== generatePrologEnfFKs === 
 + 
 +<code java> 
 +public static java.util.ArrayList<​java.lang.String>​ generatePrologEnfFKs (java.util.ArrayList<​ForeignKey>​ fks) 
 +</​code>​ 
 + 
 +Method that encodes in Prolog Foreign Keys enforced 
 + 
 +---- 
 + 
 +=== generatePrologRels === 
 + 
 +<code java> 
 +public static java.util.ArrayList<​java.lang.String>​ generatePrologRels (Schema schema) 
 +</​code>​ 
 + 
 +Method that encodes in Prolog relations of the schema selected 
 + 
 +---- 
 + 
 +=== generatePrologTCs === 
 + 
 +<code java> 
 +public static java.util.ArrayList<​java.lang.String>​ generatePrologEnfTCs (java.util.ArrayList<​TCStatement>​ tcs) 
 +</​code>​ 
 + 
 +Method that encodes in Prolog TC-Statements 
 + 
 +---- 
 + 
 +=== generatePrologFDCs === 
 + 
 +<code java> 
 +public static java.util.ArrayList<​java.lang.String>​ generatePrologFDCs (java.util.ArrayList<​FiniteDomainContraint>​ fdcs) 
 +</​code>​ 
 + 
 +Method that encodes in Prolog finite domain constraints. For each FDC we call generatePrologFDC. 
 + 
 +---- 
 + 
 +=== generatePrologFDC === 
 + 
 +<code java> 
 +public static java.lang.String generatePrologFDCs (FiniteDomainContraint fdc) 
 +</​code>​ 
 + 
 +Method that encodes in Prolog a finite domain constraint. 
 + 
 +-------- 
 + 
 +=== createInputFile === 
 + 
 +<code java> 
 +private static java.lang.String createInputFile (java.util.ArrayList<​java.lang.String>​ prologFKsNotEnf,​  
 +                                                 ​java.util.ArrayList<​java.lang.String>​ prologFKsEnf,​  
 +                                                 ​java.util.ArrayList<​java.lang.String>​ prologRels,​ 
 +                                                 ​java.util.ArrayList<​java.lang.String>​ prologPKs,  
 +                                                 ​java.util.ArrayList<​java.lang.String>​ prologTCs,  
 +                                                 ​java.lang.String prologFDCs,  
 +                                                 ​java.lang.String prologQuery) 
 +</​code>​ 
 + 
 +Method that creates the final Prolog string for the schema, query and tc-statements. 
 + 
 +-------- 
 + 
 +=== createInputGUI === 
 + 
 +<code java> 
 +private static java.lang.String createInputGUI (java.util.ArrayList<​java.lang.String>​ prologFKsNotEnf,​  
 +                                                java.util.ArrayList<​java.lang.String>​ prologFKsEnf,​  
 +                                                java.util.ArrayList<​java.lang.String>​ prologRels,​ 
 +                                                java.util.ArrayList<​java.lang.String>​ prologPKs,  
 +                                                java.util.ArrayList<​java.lang.String>​ prologTCs,  
 +                                                java.lang.String prologFDCs) 
 +</​code>​ 
 + 
 +Method that creates the final Prolog string for the schema and tc-statements that MAGIK will visualize in the GUI. 
 + 
 +---- 
 + 
 +==== readMeta ==== 
 + 
 +<code java> 
 +public static java.util.ArrayList<​java.lang.String>​ generatePrologNotEnfFKs (java.util.ArrayList<​ForeignKey>​ fks) 
 +</​code>​ 
 + 
 +Method that reads the file with the program that runs the input generated (used in GUI) 
 + 
 +---- 
 + 
 +==== generateQuery ==== 
 + 
 +<code java> 
 +public static java.lang.String generateQuery (Query query)</​code>​ 
 + 
 +Method that generate a part of the command used for call specialization algorithm 
 + 
 +---- 
 + 
 +==== generateCommand ==== 
 + 
 +<code java> 
 +public static java.lang.String generateCommand (java.lang.String q4p,  
 +                                                int maximal) 
 +</​code>​ 
 +Method that generate the command used for call specialization algorithm 
 + 
 +---- 
 + 
 +==== parseQuerySpecializationsTUProlog ==== 
 + 
 +<code java> 
 +public static java.util.ArrayList<​Query>​ parseQuerySpecializationsTuProlog (Query query,  
 +                                                                            Schema schema,  
 +                                                                            SolveInfo info)  
 +                                                                     ​throws ContextException,​  
 +                                                                            NoSolutionException 
 +</​code>​ 
 + 
 +Method that analyses the solutions given by Prolog and returns the list of the specialization (if there are) 
 + 
 +---- 
 + 
 +==== getters and setters methods ==== 
 + 
 +<code java> 
 +public static java.lang.String getProlog_enconding() 
 +public static void setProlog_enconding (java.lang.String prolog_enconding)  
 + 
 +public static java.lang.String getQueryForProlog()  
 +public static void setQueryForProlog(java.lang.String queryForProlog) 
 + 
 +public static java.lang.String getMetaProlog() 
 +public static void setMetaProlog(java.lang.String metaProlog) 
 +  
 +public static java.lang.String getCommandQuery() 
 +public static void setCommandQuery(java.lang.String commandQuery) 
 + 
 +public static long getExecutionTime() 
 +public static void setExecutionTime(long executionTime)  
 + 
 +public static java.lang.String getEncodingGUI() 
 +public static void setEncodingGUI(java.lang.String encodingGUI) 
 + 
 +</​code>​
magik-demo/developer/class/core/queryspecialization.1377161198.txt.gz · Last modified: 2017/07/06 15:24 (external edit)