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:37]
alex [getQuerySpecializationsSWI]
magik-demo:developer:class:core:queryspecialization [2017/07/06 15:24] (current)
Line 95: Line 95:
  
 ---- ----
 +
 +==== generateInput ====
 +
 +<code java>
 +public static java.lang.String generateInput (java.util.ArrayList<​TCStatement>​ currentTCs, ​
 +                                              Schema schema, ​
 +                                              int maxQSpecSize)
 +</​code>​
 +
 +Method that encodes in Prolog currentSchema and TC-statements
 +
 +**Parameters:​**
 +  * currentTCs - which data are complete, expressed in TC-statements
 +  * schema - database schema (that contains finite domain constraints and foreign keys)
 +  * maxQSpecSize - maximal number of atoms that Magik can add for calculating specialization queries
 +**Returns:​**
 +  * String that contains all the prolog code for the given schema and tc-statements
 +
 +----
 +
 +==== generateInput ====
 +
 +<code java>
 +public static java.lang.String generateInput (java.util.ArrayList<​TCStatement>​ currentTCs, ​
 +                                              Schema schema, ​
 +                                              int maxQSpecSize)
 +</​code>​
 +
 +Method that encodes in Prolog currentSchema and TC-statements
 +
 +**Parameters:​**
 +  * currentTCs - which data are complete, expressed in TC-statements
 +  * schema - database schema (that contains finite domain constraints and foreign keys)
 +  * maxQSpecSize - maximal number of atoms that Magik can add for calculating specialization queries
 +**Returns:​**
 +  * 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.1377160641.txt.gz ยท Last modified: 2017/07/06 15:24 (external edit)