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/uk/ac | |
parent | 548ad06610dabeafec983449da597f1279bf6def (diff) | |
download | RSAComb-f97502d173d7fac008de97b0032aba12b6c6119d.tar.gz RSAComb-f97502d173d7fac008de97b0032aba12b6c6119d.zip |
Add additional debug information to query execution
Diffstat (limited to 'src/main/scala/uk/ac')
-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") |