Search in sources :

Example 1 with UAI_to_HOGMv1_Using_Equalities_Translator

use of com.sri.ai.praise.lang.translate.impl.UAI_to_HOGMv1_Using_Equalities_Translator in project aic-praise by aic-sri-international.

the class SGSolverDemoController method importUAIModel.

private void importUAIModel(ActionEvent ae) {
    File uaiModelFile = uaiFileChooser.showOpenDialog(mainStage);
    if (uaiModelFile != null) {
        File uaiEvidenceFile = new File(uaiModelFile.getParent(), uaiModelFile.getName() + ".evid");
        StringWriter hogmWriter = new StringWriter();
        try (BufferedReader uaiModelReader = new BufferedReader(new FileReader(uaiModelFile));
            BufferedReader uaiEvidenceReader = new BufferedReader(new FileReader(uaiEvidenceFile));
            PrintWriter hogmPrintWriter = new PrintWriter(hogmWriter)) {
            UAI_to_HOGMv1_Using_Equalities_Translator translator = new UAI_to_HOGMv1_Using_Equalities_Translator();
            translator.translate(uaiModelFile.getName(), new Reader[] { uaiModelReader, uaiEvidenceReader }, new PrintWriter[] { hogmPrintWriter }, new TranslatorOptions());
            String hogmModel = hogmWriter.toString();
            // For convenience, pull out all possible queries
            HOGMParserWrapper parser = new HOGMParserWrapper();
            ParsedHOGModel parsedModel = parser.parseModel(hogmModel);
            FactorsAndTypes factorsAndTypes = new ExpressionFactorsAndTypes(parsedModel);
            List<String> queries = new ArrayList<>(factorsAndTypes.getMapFromRandomVariableNameToTypeName().keySet());
            newModel(hogmModel, queries);
        } catch (Throwable th) {
            FXUtil.exception(th);
        }
    }
}
Also used : ParsedHOGModel(com.sri.ai.praise.model.v1.hogm.antlr.ParsedHOGModel) FactorsAndTypes(com.sri.ai.praise.sgsolver.solver.FactorsAndTypes) ExpressionFactorsAndTypes(com.sri.ai.praise.sgsolver.solver.ExpressionFactorsAndTypes) ArrayList(java.util.ArrayList) TranslatorOptions(com.sri.ai.praise.lang.translate.TranslatorOptions) ExpressionFactorsAndTypes(com.sri.ai.praise.sgsolver.solver.ExpressionFactorsAndTypes) HOGMParserWrapper(com.sri.ai.praise.model.v1.hogm.antlr.HOGMParserWrapper) StringWriter(java.io.StringWriter) BufferedReader(java.io.BufferedReader) FileReader(java.io.FileReader) File(java.io.File) PrintWriter(java.io.PrintWriter) UAI_to_HOGMv1_Using_Equalities_Translator(com.sri.ai.praise.lang.translate.impl.UAI_to_HOGMv1_Using_Equalities_Translator)

Aggregations

TranslatorOptions (com.sri.ai.praise.lang.translate.TranslatorOptions)1 UAI_to_HOGMv1_Using_Equalities_Translator (com.sri.ai.praise.lang.translate.impl.UAI_to_HOGMv1_Using_Equalities_Translator)1 HOGMParserWrapper (com.sri.ai.praise.model.v1.hogm.antlr.HOGMParserWrapper)1 ParsedHOGModel (com.sri.ai.praise.model.v1.hogm.antlr.ParsedHOGModel)1 ExpressionFactorsAndTypes (com.sri.ai.praise.sgsolver.solver.ExpressionFactorsAndTypes)1 FactorsAndTypes (com.sri.ai.praise.sgsolver.solver.FactorsAndTypes)1 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1 FileReader (java.io.FileReader)1 PrintWriter (java.io.PrintWriter)1 StringWriter (java.io.StringWriter)1 ArrayList (java.util.ArrayList)1