diff options
Diffstat (limited to 'src/test/scala')
-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 | |||