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"); }
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#>]"); }