aboutsummaryrefslogtreecommitdiff
path: root/src/test/scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/scala')
-rw-r--r--src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala41
1 files changed, 41 insertions, 0 deletions
diff --git a/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala b/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala
index 5872de1..08ff283 100644
--- a/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala
+++ b/src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala
@@ -62,3 +62,44 @@ class LUBM extends AnyFunSpec with Matchers {
62 62
63 } 63 }
64} 64}
65
66class DBpedia extends AnyFunSpec with Matchers {
67
68 Logger.level = Logger.QUIET
69
70 private val test = os.pwd / "tests" / "dbpedia"
71
72 /* Approximation algorithms */
73 //private val toLowerbound = new Lowerbound
74 private val toUpperbound = new Upperbound
75
76 /* Normalization algorithms */
77 private val normalizer = new Normalizer
78
79 /* Ontology */
80 private val ontology = Ontology(
81 test / "dbpedia+travel.owl",
82 List(test / "dbpedia+travel.ttl")
83 ) normalize normalizer
84 private val rsa = ontology approximate toUpperbound
85
86 /* Queries and results */
87 private val results = ujson.read(os.read(test / "results.json")).arr
88
89 describe("Full DBpedia + Travel data:") {
90
91 val queries = RDFoxUtil.loadQueriesFromFile(test / "queries.sparql")
92 queries foreach { query =>
93 it(s"Tested Query${query.id}") {
94 val answers = rsa.ask(query).answers.map(_._2.mkString("\t"))
95 val reference = results
96 .find(_("queryID").num == query.id)
97 .get("answers")
98 .arr
99 .map(_.str)
100 answers should contain theSameElementsAs reference
101 }
102 }
103 }
104}
105