diff options
author | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-12-07 18:08:33 +0000 |
---|---|---|
committer | Federico Igne <federico.igne@cs.ox.ac.uk> | 2020-12-07 18:08:33 +0000 |
commit | b241f9b23b225dec5ffc3f8ddd6c81771091f599 (patch) | |
tree | a88c4f0e1ef1a592cabe15a37cfeb2ac45fefcec /src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | |
parent | daf6c30152f3bb1ac6f10f1eeb783687f1a6a214 (diff) | |
download | RSAComb-b241f9b23b225dec5ffc3f8ddd6c81771091f599.tar.gz RSAComb-b241f9b23b225dec5ffc3f8ddd6c81771091f599.zip |
Add diagnostics for (un)filtered answer ratio
Diffstat (limited to 'src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala')
-rw-r--r-- | src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | 26 |
1 files changed, 21 insertions, 5 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 60511af..6891c8c 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | |||
@@ -57,13 +57,29 @@ object RSAComb extends App { | |||
57 | Logger print "Ontology is RSA!" | 57 | Logger print "Ontology is RSA!" |
58 | 58 | ||
59 | /** Read SPARQL query from file */ | 59 | /** Read SPARQL query from file */ |
60 | val query = RDFoxUtil.loadQueryFromFile(queryPath.getAbsoluteFile) | 60 | val strQuery = RDFoxUtil.loadQueryFromFile(queryPath.getAbsoluteFile) |
61 | 61 | val query = ConjunctiveQuery parse strQuery | |
62 | /* Compute answers to query */ | 62 | |
63 | ConjunctiveQuery.parse(query).map(ontology ask _) match { | 63 | query match { |
64 | case Some(answers) => Logger print answers | 64 | case Some(query) => { |
65 | val answers = ontology ask query | ||
66 | Logger.print(s"$answers", Logger.QUIET) | ||
67 | Logger print s"Number of answer: ${answers.length}" | ||
68 | |||
69 | val unfiltered = ontology askUnfiltered query | ||
70 | val percentage = unfiltered match { | ||
71 | case Some(u) => | ||
72 | if (u.length > 0) (1 - answers.length / u.length) * 100 else 0 | ||
73 | case None => 0 | ||
74 | } | ||
75 | Logger.print( | ||
76 | s"Percentage of spurious answers: $percentage%", | ||
77 | Logger.DEBUG | ||
78 | ) | ||
79 | } | ||
65 | case None => | 80 | case None => |
66 | throw new RuntimeException("Submitted query is not conjunctive") | 81 | throw new RuntimeException("Submitted query is not conjunctive") |
67 | } | 82 | } |
83 | |||
68 | } | 84 | } |
69 | } | 85 | } |