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