aboutsummaryrefslogtreecommitdiff
path: root/test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java
diff options
context:
space:
mode:
authorRncLsn <rnc.lsn@gmail.com>2015-09-03 15:09:35 +0100
committerRncLsn <rnc.lsn@gmail.com>2015-09-03 15:09:35 +0100
commit1c02a4bde9eddb66550341377b2bd980ff48c474 (patch)
tree6e86500be926c98fd5f285b8410fe88e8805423c /test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java
parent90cb6032058ad3fc16b895922823b5a700121b1b (diff)
downloadACQuA-1c02a4bde9eddb66550341377b2bd980ff48c474.tar.gz
ACQuA-1c02a4bde9eddb66550341377b2bd980ff48c474.zip
New test cases.
Diffstat (limited to 'test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java')
-rw-r--r--test/uk/ac/ox/cs/pagoda/global_tests/MadeUpCases.java77
1 files changed, 77 insertions, 0 deletions
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 @@
1package uk.ac.ox.cs.pagoda.global_tests;
2
3import org.semanticweb.owlapi.apibinding.OWLManager;
4import org.semanticweb.owlapi.model.*;
5import org.testng.Assert;
6import org.testng.annotations.Test;
7import uk.ac.ox.cs.pagoda.query.AnswerTuple;
8import uk.ac.ox.cs.pagoda.query.AnswerTuples;
9import uk.ac.ox.cs.pagoda.reasoner.QueryReasoner;
10import uk.ac.ox.cs.pagoda.util.TestUtil;
11
12import java.io.IOException;
13
14import static uk.ac.ox.cs.pagoda.util.TestUtil.getEntityIRI;
15
16public class MadeUpCases {
17
18 @Test(groups = {"existential"})
19 public void someTest() throws OWLOntologyCreationException, IOException, OWLOntologyStorageException {
20
21 /*
22 * Build test ontology
23 * */
24
25 OWLOntologyManager manager = OWLManager.createOWLOntologyManager();
26 OWLDataFactory factory = manager.getOWLDataFactory();
27 OWLOntology ontology = manager.createOntology();
28
29 OWLClass A1 = factory.getOWLClass(getEntityIRI("A1"));
30 manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A1));
31 OWLClass A2 = factory.getOWLClass(getEntityIRI("A2"));
32 manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A2));
33 OWLClass A3 = factory.getOWLClass(getEntityIRI("A3"));
34 manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A3));
35 OWLClass A4 = factory.getOWLClass(getEntityIRI("A4"));
36 manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(A4));
37 OWLNamedIndividual a = factory.getOWLNamedIndividual(getEntityIRI("a"));
38 OWLNamedIndividual b = factory.getOWLNamedIndividual(getEntityIRI("b"));
39 OWLObjectProperty R = factory.getOWLObjectProperty(IRI.create(String.format(TestUtil.NS, "R")));
40 manager.addAxiom(ontology, factory.getOWLDeclarationAxiom(R));
41
42 // Class assertions
43 manager.addAxiom(ontology, factory.getOWLClassAssertionAxiom(A1, a));
44 manager.addAxiom(ontology, factory.getOWLClassAssertionAxiom(A1, b));
45
46 // Minimum cardinality axiom
47 manager.addAxiom(ontology, factory.getOWLSubClassOfAxiom(A1, factory.getOWLObjectSomeValuesFrom(R, A2)));
48 manager.addAxiom(ontology, factory.getOWLSubClassOfAxiom(A2, factory.getOWLObjectSomeValuesFrom(R, A3)));
49 manager.addAxiom(ontology, factory.getOWLSubClassOfAxiom(A3, factory.getOWLObjectSomeValuesFrom(R, A4)));
50 manager.addAxiom(ontology, factory.getOWLTransitiveObjectPropertyAxiom(R));
51
52// manager.saveOntology(ontology, Files.newOutputStream(Paths.get("/home/alessandro/Desktop/test-ontology.owl")));
53
54 /*
55 * Test one query
56 * */
57
58 QueryReasoner pagoda = QueryReasoner.getInstance(ontology);
59 pagoda.loadOntology(ontology);
60 if (pagoda.preprocess()) {
61 String query = "select distinct ?x ?y " +
62 " where { "
63 + " ?x <" + R.toStringID() + "> _:z . "
64 + " ?y <" + R.toStringID() + "> _:z " +
65 " }";
66 AnswerTuples answers = pagoda.evaluate(query);
67 int count = 0;
68 for (AnswerTuple ans; answers.isValid(); answers.moveNext()) {
69 ans = answers.getTuple();
70 TestUtil.logInfo(ans);
71 count++;
72 }
73 Assert.assertEquals(count, 2);
74 }
75 pagoda.dispose();
76 }
77}