Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #5
0
        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);
        }