private void initializeOntology(string path) { OwlOntology.Ontology = OwlManager.LoadOntology(path); OwlOntology.ObjectProperties = OwlManager.GetObjectProperties(); OwlOntology.Individuals = OwlManager.GetIndividuals(); OwlOntology.Classes = OwlManager.GetClasses(); panel_reasoner.BackColor = Color.Red; }
private void button_analize_sentence_Click(object sender, EventArgs e) { if (Locked) { return; } if (panel_reasoner.BackColor == Color.Red) { MessageBox.Show("You can do the search only after applying the reasoner", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (textBox_query.Text.Count() == 0) { MessageBox.Show("Can you write a real word?", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } // Match match = Regex.Match(textBox_query.Text, @"(?i)^[a-z]+"); var bagOfWords = textBox_query.Text.Split(' '); DataTable dataTable = new DataTable(); dataTable.Columns.Add("Word"); dataTable.Columns.Add("Type"); foreach (string word in bagOfWords) { var result = (from individual in OwlOntology.Individuals where individual.Contains(word) select individual).FirstOrDefault(); if (result != null) { var listOfIndividualTypes = OwlManager.RunQuery("SELECT Distinct ?type WHERE { <" + result + "> rdf:type ?type.}"); foreach (string type in listOfIndividualTypes) { var test = getLastId(type); if (isApproved(getLastId(type))) { var row = dataTable.NewRow(); row["Word"] = word; row["Type"] = getLastId(type); dataTable.Rows.Add(row); } } } } bindingSource_result.DataSource = dataTable; dataGridView_results.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dataGridView_results.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView_results.AutoResizeColumns(); }
private void launchReasonerProcess2(string ontologyFromPath, string ontologyTempPath) { Locked = true; progressBar_reasoner.Visible = true; progressBar_reasoner.BringToFront(); var worker = new BackgroundWorker(); worker.WorkerReportsProgress = false; worker.WorkerSupportsCancellation = false; worker.DoWork += (o, e) => { File.WriteAllBytes("executer.jar", resources.executer); string executer = "executer.jar"; var processInfo = new ProcessStartInfo("javaw", string.Format("-jar \"{0}\" \"{1}\" \"{2}\"", executer.Replace("\\", @"\"), ontologyFromPath, ontologyTempPath)) { WindowStyle = ProcessWindowStyle.Hidden, UseShellExecute = false, CreateNoWindow = true, ErrorDialog = true, RedirectStandardError = true, RedirectStandardOutput = true, //WorkingDirectory = System.IO.Path.GetDirectoryName(Application.ExecutablePath), }; Process process = System.Diagnostics.Process.Start(processInfo); process.WaitForExit(); int exitCode = process.ExitCode; process.Close(); File.SetAttributes(ontologyTempPath, File.GetAttributes(ontologyTempPath) | FileAttributes.Hidden); }; worker.RunWorkerCompleted += (o, e) => { progressBar_reasoner.Visible = false; progressBar_reasoner.SendToBack(); Locked = false; OwlManager.LoadOntology(getTempFilePath()); OwlOntology.Ontology = OwlManager.Ontology; OwlOntology.ObjectProperties = OwlManager.GetObjectProperties(); // OwlOntology.Individuals = new List<string>(OwlManager.GetIndividuals()); OwlOntology.Classes = OwlManager.GetClasses(); }; worker.RunWorkerAsync(); }
private void button_find_Click(object sender, EventArgs e) { if (Locked) { return; } if (panel_reasoner.BackColor == Color.Red) { MessageBox.Show("You can do the search only after applying the reasoner", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (textBox_search.Text.Count() == 0) { MessageBox.Show("Can you write a real word?", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } var query = "SELECT Distinct ?type WHERE { <" + OwlOntology.Ontology.BaseUri + "#" + textBox_search.Text + "> rdf:type ?type.}"; var queryResylt = OwlManager.RunQueryDataTable(query); DataTable dataTable = new DataTable(); dataTable.Columns.Add("Word"); dataTable.Columns.Add("Type"); foreach (var match in queryResylt.Results) { var test = getLastId(match.ToString()); if (isApproved(getLastId(match.ToString()))) { var row = dataTable.NewRow(); row["Word"] = textBox_search.Text; row["Type"] = getLastId(match.ToString()); dataTable.Rows.Add(row); } } bindingSource_result.DataSource = dataTable; dataGridView_results.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dataGridView_results.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView_results.AutoResizeColumns(); }
private void button_runQuery_Click(object sender, EventArgs e) { if (Locked) { return; } if (panel_reasoner.BackColor == Color.Red) { MessageBox.Show("You can do the search only after applying the reasoner", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else if (textBox_search.Text.Count() == 0) { MessageBox.Show("Can you write a real word?", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } else { bindingSource_result.DataSource = OwlManager.RunQueryDataTable(textBox_query.Text); } }
private void toolStripButton_export_Click(object sender, EventArgs e) { if (Locked) { return; } if (panel_reasoner.BackColor == Color.Red) { MessageBox.Show("You can do the search only after applying the reasoner", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } SaveFileDialog dialog = new SaveFileDialog(); dialog.Title = "Save"; dialog.Filter = "Ontology File|*.owl"; if (dialog.ShowDialog() == DialogResult.OK) { // Saves the Image via a FileStream created by the OpenFile method. OwlManager.SaveOntology(dialog.FileName); } }
private void toolStripButton_textfile_Click(object sender, EventArgs e) { if (Locked) { return; } if (panel_reasoner.BackColor == Color.Red) { MessageBox.Show("You can do the search only after applying the reasoner", "Alert", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Text Files|*.txt"; if (dialog.ShowDialog() == DialogResult.OK) { var words = readTextFile(dialog.FileName); if (panel_reasoner.BackColor == Color.Red) { applyReasoner(); panel_reasoner.BackColor = Color.Green; initializeLabels(); } DataTable dataTable = new DataTable(); dataTable.Columns.Add("Word"); dataTable.Columns.Add("Type"); foreach (string word in words) { var result = (from individual in OwlOntology.Individuals where individual.Contains(word) select individual).FirstOrDefault(); if (result != null) { var listOfIndividualTypes = OwlManager.RunQuery("SELECT Distinct ?type WHERE { <" + result + "> rdf:type ?type.}"); foreach (string type in listOfIndividualTypes) { var test = getLastId(type); if (getLastId(type).Equals("NamedIndividual") == false) { var row = dataTable.NewRow(); row["Word"] = word; row["Type"] = getLastId(type); dataTable.Rows.Add(row); } } } } bindingSource_result.DataSource = dataTable; dataGridView_results.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells; dataGridView_results.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill; dataGridView_results.AutoResizeColumns(); } }