public void DescribeInstancesTest() { List <string> instances = new List <string>() { "John", "Mark" }; var cnlSentences = new List <string>() { "John is a man.", "John has-nickname equal-to 'Jojo'.", "John has-friend Martha.", "Mark is a man.", "Mark has-nickname equal-to 'Maro'.", "Mark has-friend Mery." }; var feClient = new CogniPySvr(); feClient.LoadCnlFromString(string.Join("\r\n", cnlSentences), true, true); var result = feClient.DescribeInstances("a man"); var instancesFromResult = result.Keys.ToList(); CollectionAssert.AreEquivalent(instances, instancesFromResult); }
public void DescribeInstanceQueryWithPrefixTest() { var cnlSentences = new List <string>() { "John[sfo] is a man.", "John[sfo] has-nickname equal-to 'Jojo'.", "John[sfo] has-friend Martha.", "References: [sfo] 'http://sfo.com' ('http://sfo.com') ." }; var feClient = new CogniPySvr(); feClient.LoadCnlFromString(string.Join("\r\n", cnlSentences), true, true); var result = feClient.DescribeInstances("John[sfo]"); Assert.AreEqual(1, result.Count); var instanceDescription = result.FirstOrDefault(); Assert.IsNotNull(instanceDescription); Assert.AreEqual("John[sfo]", instanceDescription.Key); Assert.AreEqual(1, instanceDescription.Value.AttributeValues.Count); Assert.True(instanceDescription.Value.AttributeValues.ContainsKey("has-nickname")); Assert.AreEqual("Jojo", (string)instanceDescription.Value.AttributeValues["has-nickname"].First()); Assert.AreEqual(1, instanceDescription.Value.RelatedInstances.Count); Assert.True(instanceDescription.Value.RelatedInstances.ContainsKey("has-friend")); Assert.AreEqual("Martha", instanceDescription.Value.RelatedInstances["has-friend"].First()); }
public void SR11BUG() { var toinstert = new string[] { "Deal-Criteria-2 is a reputational-risk-network-deal-criteria.", "Deal-Criteria-2 is a reputational-risk-network-component.", "Deal-Criteria-2 has-sql-name equal-to ''.", "Deal-Criteria-2 has-availability equal-to 'Data-Available'.", "Deal-Criteria-2 has-unit equal-to ''.", "Deal-Criteria-2 has-aggregation equal-to 'None'.", "Annotations:\r\n_Deal-Criteria-2 Instance: node-label 'Importance'@en\r\n_Deal-Criteria-2 Instance: node-description 'Importance'@en\r\n." }; var reasoner = new CogniPySvr(); reasoner.LoadCnl(Path.Combine(AssemblyDirectory, "TestFiles", "ont2.encnl"), true, true); foreach (var l in toinstert) { reasoner.KnowledgeInsert(l, true, true); } var sups = reasoner.GetSuperConceptsOf("Deal-Criteria-2", false); Assert.AreEqual(sups.Count(), 4); var descr = reasoner.DescribeInstances("Deal-Criteria-2"); Assert.AreEqual(descr.Count(), 1); }
public void SR14BUG() { var reasoner = new CogniPySvr(); reasoner.LoadCnl(Path.Combine(AssemblyDirectory, "TestFiles", "TestTBox.encnl"), true, false); var desc = reasoner.DescribeInstances("Nikolai"); Assert.IsEmpty(desc); }
public void DescribeInstancesNoRelationNoAttributeTest() { var cnlSentences = new List <string>() { "John is a man.", "John has-friend Martha.", "Mark is a man.", "Mark has-nickname equal-to 'Maro'." }; var feClient = new CogniPySvr(); feClient.LoadCnlFromString(string.Join("\r\n", cnlSentences), true, true); var result = feClient.DescribeInstances("a man"); Assert.AreEqual("Martha", result["John"].RelatedInstances["has-friend"].First()); Assert.AreEqual(0, result["John"].AttributeValues.Count); Assert.AreEqual("Maro", (string)result["Mark"].AttributeValues["has-nickname"].First()); Assert.AreEqual(0, result["Mark"].RelatedInstances.Count); }