aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/uk/ac
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2020-12-17 17:44:31 +0000
committerFederico Igne <federico.igne@cs.ox.ac.uk>2020-12-17 17:44:31 +0000
commitf97502d173d7fac008de97b0032aba12b6c6119d (patch)
treedd8e573df84b0ae2c551b7bdb7b99524625567eb /src/main/scala/uk/ac
parent548ad06610dabeafec983449da597f1279bf6def (diff)
downloadRSAComb-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.scala32
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")