private void ExtractFactsFromIndividual(OwlIndividual owlIndividual, TreeNode nodeIndividual, string text) { if (owlIndividual is OwlIndividual) { List <string> keyWords = new List <string>(); string script = ""; string table = ""; foreach (OwlEdge owlAttribute in owlIndividual.ChildEdges) { if (OntologyForm.ConvertNameNode(owlAttribute) == "HasKeyWord") { OwlNode Attribute = (OwlNode)(owlAttribute.ChildNode); keyWords.Add(Attribute.ID); } if (OntologyForm.ConvertNameNode(owlAttribute) == "HasScript") { OwlNode attribute = (OwlNode)(owlAttribute.ChildNode); script = attribute.ID; } if (OntologyForm.ConvertNameNode(owlAttribute) == "HasTable") { OwlNode attribute = (OwlNode)(owlAttribute.ChildNode); table = attribute.ID; } } foreach (string fact in GetFacts(script, keyWords, text)) { facts.Add(new Fact(fact, table)); nodeIndividual.Nodes.Add(fact); } } }
private void MainExtractFacts(OwlClass owlClass, string text) { if (factsExtracted) { return; } string owlClassName = OntologyForm.ConvertNameNode(owlClass); foreach (OwlEdge owlEdge in owlClass.ParentEdges) { OwlIndividual owlIndividual = (OwlIndividual)(owlEdge.ParentNode); string owlIndividualName = OntologyForm.ConvertNameNode(owlIndividual); TreeNode nodeIndividual = new TreeNode(owlIndividualName); try { ExtractFactsFromIndividual(owlIndividual, nodeIndividual, text); nodes.Add(nodeIndividual); } catch (Exception exception) { nodes.Add(new TreeNode(owlIndividualName + ": " + exception.Message)); } } factsExtracted = true; }
public Aggregator() { InitializeComponent(); LoadNetWorks(); Reviews = new List <Review>(); ConnectingForm = new ConnectSqlServerForm(); Ontology = new OntologyForm(cbHeadOwlClass, Path.GetFullPath("Онтология Protege.owl")); StopWords = new StopWordsForm(); }
private void btnCalcCountKeyWords_Click(object sender, EventArgs e) { List <string> keyWords = new List <string>(); OwlClass owlMainClass = (OwlClass)((OwlItem)cbHeadOwlClass.SelectedItem).owlNode; foreach (OwlEdge owlEdge in owlMainClass.ParentEdges) { OwlIndividual owlIndividual = (OwlIndividual)owlEdge.ParentNode; foreach (OwlEdge owlAttribute in owlIndividual.ChildEdges) { if (OntologyForm.ConvertNameNode(owlAttribute) == "HasKeyWord") { OwlNode attribute = (OwlNode)(owlAttribute.ChildNode); keyWords.Add(attribute.ID); } } } foreach (ListViewItem lvi in lvReviews.SelectedItems) { Review review = (Review)lvi.Tag; review.CalcCountKeyWords(keyWords); lvi.SubItems[3].Text = review.CountKeyWords.ToString(); } }