diff options
author | Federico Igne <federico.igne@cs.ox.ac.uk> | 2021-10-30 23:17:42 +0100 |
---|---|---|
committer | Federico Igne <federico.igne@cs.ox.ac.uk> | 2021-10-30 23:17:42 +0100 |
commit | 78f726607b32925923d7e48686f7c6e9c8d7e831 (patch) | |
tree | 4b366cbed1e6a2312a608ef0cdfd868fb01f1b84 /src/test/scala/uk | |
parent | 49a8889b02a25b46aa52252fb96ec489800582c0 (diff) | |
download | RSAComb-78f726607b32925923d7e48686f7c6e9c8d7e831.tar.gz RSAComb-78f726607b32925923d7e48686f7c6e9c8d7e831.zip |
Finalise dbpedia functional testing
Diffstat (limited to 'src/test/scala/uk')
-rw-r--r-- | src/test/scala/uk/ac/ox/cs/rsacomb/functional/Functional.scala | 41 |
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 | |||
66 | class 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 | |||