diff options
| author | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-12-17 17:44:31 +0000 |
|---|---|---|
| committer | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-12-17 17:44:31 +0000 |
| commit | f97502d173d7fac008de97b0032aba12b6c6119d (patch) | |
| tree | dd8e573df84b0ae2c551b7bdb7b99524625567eb /src/main/scala | |
| parent | 548ad06610dabeafec983449da597f1279bf6def (diff) | |
| download | RSAComb-f97502d173d7fac008de97b0032aba12b6c6119d.tar.gz RSAComb-f97502d173d7fac008de97b0032aba12b6c6119d.zip | |
Add additional debug information to query execution
Diffstat (limited to 'src/main/scala')
| -rw-r--r-- | src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala index eaacedc..f54884f 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | |||
| @@ -64,23 +64,35 @@ object RSAComb extends App { | |||
| 64 | case Some(query) => { | 64 | case Some(query) => { |
| 65 | val answers = ontology ask query | 65 | val answers = ontology ask query |
| 66 | Logger.print(s"$answers", Logger.QUIET) | 66 | Logger.print(s"$answers", Logger.QUIET) |
| 67 | Logger print s"Number of answer: ${answers.length}" | 67 | Logger print s"Number of answer: ${answers.length} (${answers.lengthWithMultiplicity})" |
| 68 | 68 | ||
| 69 | val unfiltered = ontology askUnfiltered query | 69 | val unfiltered = ontology askUnfiltered query |
| 70 | val percentage = unfiltered match { | 70 | unfiltered map { u => |
| 71 | case Some(u) => { | 71 | Logger.print( |
| 72 | s"Number of unfiltered answers: ${u.length} (${u.map(_._1).sum}).", | ||
| 73 | Logger.DEBUG | ||
| 74 | ) | ||
| 75 | //u foreach println | ||
| 76 | val spurious = { | ||
| 77 | val sp = | ||
| 78 | RDFoxUtil.buildDescriptionQuery("SP", query.variables.length) | ||
| 79 | ontology.queryDataStore(query, sp, RSA.Prefixes) | ||
| 80 | } | ||
| 81 | spurious map { s => | ||
| 72 | Logger.print( | 82 | Logger.print( |
| 73 | s"Number of spurious answers: ${u.length}.", | 83 | s"Number of spurious answers: ${s.length} (${s.map(_._1).sum})", |
| 84 | Logger.DEBUG | ||
| 85 | ) | ||
| 86 | //s foreach println | ||
| 87 | val perc = | ||
| 88 | if (u.length > 0) (s.length / u.length.toFloat) * 100 else 0 | ||
| 89 | Logger.print( | ||
| 90 | s"Percentage of spurious answers: $perc%", | ||
| 74 | Logger.DEBUG | 91 | Logger.DEBUG |
| 75 | ) | 92 | ) |
| 76 | if (u.length > 0) (1 - answers.length / u.length) * 100 else 0 | ||
| 77 | } | 93 | } |
| 78 | case None => 0 | 94 | |
| 79 | } | 95 | } |
| 80 | Logger.print( | ||
| 81 | s"Percentage of spurious answers: $percentage%", | ||
| 82 | Logger.DEBUG | ||
| 83 | ) | ||
| 84 | } | 96 | } |
| 85 | case None => | 97 | case None => |
| 86 | throw new RuntimeException("Submitted query is not conjunctive") | 98 | throw new RuntimeException("Submitted query is not conjunctive") |
