From 1c02a4bde9eddb66550341377b2bd980ff48c474 Mon Sep 17 00:00:00 2001 From: RncLsn Date: Thu, 3 Sep 2015 15:09:35 +0100 Subject: New test cases. --- .../ac/ox/cs/pagoda/global_tests/MadeUpCases.java | 77 ++++++++++++++++++++++ .../cs/pagoda/global_tests/TestPagodaReactome.java | 12 ++++ .../ox/cs/pagoda/global_tests/TestPagodaUOBM.java | 2 +- 3 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java (limited to 'test/uk/ac/ox/cs/pagoda/global_tests') diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java b/test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java new file mode 100644 index 0000000..3d154cb --- /dev/null +++ b/test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java @@ -0,0 +1,77 @@ +package uk.ac.ox.cs.pagoda.global_tests; + +import org.semanticweb.owlapi.apibinding.OWLManager; +import org.semanticweb.owlapi.model.*; +import org.testng.Assert; +import org.testng.annotations.Test; +import uk.ac.ox.cs.pagoda.query.AnswerTuple; +import uk.ac.ox.cs.pagoda.query.AnswerTuples; +import uk.ac.ox.cs.pagoda.reasoner.QueryReasoner; +import uk.ac.ox.cs.pagoda.util.TestUtil; + +import java.io.IOException; + +import static uk.ac.ox.cs.pagoda.util.TestUtil.getEntityIRI; + +public class MadeUpCases { + + @Test(groups = {"existential"}) + public void someTest() throws OWLOntologyCreationException, IOException, OWLOntologyStorageException { + + /* + * Build test ontology + * */ + + OWLOntologyManager manager = OWLManager.createOWLOntologyManager(); + OWLDataFactory factory = manager.getOWLDataFactory(); + OWLOntology ontology = manager.createOntology(); + + OWLClass A1 = factory.getOWLClass(getEntityIRI("A1")); + manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A1)); + OWLClass A2 = factory.getOWLClass(getEntityIRI("A2")); + manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A2)); + OWLClass A3 = factory.getOWLClass(getEntityIRI("A3")); + manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A3)); + OWLClass A4 = factory.getOWLClass(getEntityIRI("A4")); + manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A4)); + OWLNamedIndividual a = factory.getOWLNamedIndividual(getEntityIRI("a")); + OWLNamedIndividual b = factory.getOWLNamedIndividual(getEntityIRI("b")); + OWLObjectProperty R = factory.getOWLObjectProperty(IRI.create(String.format(TestUtil.NS, "R"))); + manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(R)); + + // Class assertions + manager.addAxiom(ontology, factory.getOWLClassAssertionAxiom(A1, a)); + manager.addAxiom(ontology, factory.getOWLClassAssertionAxiom(A1, b)); + + // Minimum cardinality axiom + manager.addAxiom(ontology, factory.getOWLSubClassOfAxiom(A1, factory.getOWLObjectSomeValuesFrom(R, A2))); + manager.addAxiom(ontology, factory.getOWLSubClassOfAxiom(A2, factory.getOWLObjectSomeValuesFrom(R, A3))); + manager.addAxiom(ontology, factory.getOWLSubClassOfAxiom(A3, factory.getOWLObjectSomeValuesFrom(R, A4))); + manager.addAxiom(ontology, factory.getOWLTransitiveObjectPropertyAxiom(R)); + +// manager.saveOntology(ontology, Files.newOutputStream(Paths.get("/home/alessandro/Desktop/test-ontology.owl"))); + + /* + * Test one query + * */ + + QueryReasoner pagoda = QueryReasoner.getInstance(ontology); + pagoda.loadOntology(ontology); + if (pagoda.preprocess()) { + String query = "select distinct ?x ?y " + + " where { " + + " ?x <" + R.toStringID() + "> _:z . " + + " ?y <" + R.toStringID() + "> _:z " + + " }"; + AnswerTuples answers = pagoda.evaluate(query); + int count = 0; + for (AnswerTuple ans; answers.isValid(); answers.moveNext()) { + ans = answers.getTuple(); + TestUtil.logInfo(ans); + count++; + } + Assert.assertEquals(count, 2); + } + pagoda.dispose(); + } +} diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaReactome.java b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaReactome.java index 6ef03c5..a13b7f4 100644 --- a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaReactome.java +++ b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaReactome.java @@ -37,4 +37,16 @@ public class TestPagodaReactome { .run(); } + @Test(groups = {"existential"}) + public void justExecute_existential() throws IOException { + String ontoDir = TestUtil.getConfig().getProperty("ontoDir"); + + Pagoda.builder() + .ontology(Paths.get(ontoDir, "reactome/biopax-level3-processed.owl")) + .data(Paths.get(ontoDir, "reactome/data/sample_10.ttl")) + .query(Paths.get(ontoDir, "reactome/existential_queries.sparql")) + .build() + .run(); + } + } diff --git a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java index 426bdf2..4dae223 100644 --- a/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java +++ b/test/uk/ac/ox/cs/pagoda/global_tests/TestPagodaUOBM.java @@ -85,7 +85,7 @@ public class TestPagodaUOBM { .run(); } - @Test(groups = {"justExecute", "heavy", "nonOriginal"}) + @Test(groups = {"justExecute", "heavy", "nonOriginal", "existential"}) public void justExecute_modifiedUOBM() throws IOException { String ontoDir = TestUtil.getConfig().getProperty("ontoDir"); -- cgit v1.2.3