Exemple #1
0
        public void CloneTest(string cnl, bool direct, string[] asserts)
        {
            var cnlSentences = new List <string>()
            {
                "Every location-form is a form.",
                "Every data-location-form is a location-form.",
                "Data-Location-Form is a data-location-form.",
                "Kiki must hava a miki.",

                "Data-Location-Form is a data-location-form[sfo].",
                "Data-Location-Form[sfo] is a data-location-form.",
                "References: [sfo] 'http://sfo.com' ('http://sfo.com') .",
                @"Annotations:
bela Concept: ""comment"":rdfs 'kaka maka'
bela Concept: ""comment"":rdfs 'biba'@en
_Ala Instance: ""backwardCompatibleWith"":owl 'sdsgd'@ar
.",
                "References: [sfo] 'http://sfo.com' ('http://sfo.com') ."
            };

            var feClient = new CogniPySvr();

            feClient.LoadCnlFromString(string.Join("\r\n", cnlSentences), true, true);

            var superconcepts = feClient.GetSuperConceptsOf(cnl, direct);

            var clone1 = feClient.CloneForAboxChangesOnly();

            clone1.KnowledgeInsert("Clone-1 is a form.", true, true);
            var superconcepts2 = clone1.GetSuperConceptsOf(cnl, direct);

            var clone2 = feClient.CloneForAboxChangesOnly();

            clone2.KnowledgeInsert("Clone-2 is a form.", true, true);

            var resClone1 = clone1.GetInstancesOf("a form", false);
            var resClone2 = clone2.GetInstancesOf("a form", false);

            CollectionAssert.DoesNotContain(resClone2, "Clone-1");
            CollectionAssert.DoesNotContain(resClone1, "Clone-2");

            CollectionAssert.IsNotEmpty(superconcepts2);
            CollectionAssert.AreEquivalent(asserts, superconcepts2);

            var instances = clone2.GetInstancesOf("a form", direct);

            CollectionAssert.DoesNotContain(instances, "Clone-1");
        }
Exemple #2
0
        public void CloneReasonerBigOntologyTest()
        {
            var feClient = new CogniPySvr();

            feClient.LoadCnl(Path.Combine(AssemblyDirectory, "TestFiles", "RODO.encnl"), true, true);

            var clone1 = feClient.CloneForAboxChangesOnly();
            var toAdd  = new List <string>()
            {
                "Element-1-Form-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>] is a element-1-form.",
                "Survey[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>] is a subject[sfo].",
                "Element-1-Form-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>] concern[sfo] Survey[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>].",
                "Survey[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>] is-concerned-by[sfo] Element-1-Form-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>].",
                "Element-1-1-Section-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>] is a element-1-1-section.",
                "Element-1-Form-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>] concern[sfo] Element-1-1-Section-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>]."
            };


            clone1.KnowledgeInsert(string.Join("\r\n", toAdd), false, true);
            clone1.KnowledgeDelete(string.Join("\r\n", toAdd), true);

            var instances = clone1.GetInstancesOf("element-1-form", false);

            CollectionAssert.DoesNotContain(instances, "Element-1-Form-D-24-01-2019-T-15-42-57[<http://www.sfo.cognitum.eu/Survey/2d3ce1df-a509-4c00-9a25-ac20e54efdf8#>]");
        }