aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala
diff options
context:
space:
mode:
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.scala16
1 files changed, 15 insertions, 1 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 b1fd721..c030301 100644
--- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala
+++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala
@@ -16,7 +16,8 @@
16 16
17package uk.ac.ox.cs.rsacomb 17package uk.ac.ox.cs.rsacomb
18 18
19import java.io.File 19import java.io.{File, PrintWriter}
20import java.nio.file.{Path, Paths, InvalidPathException}
20import java.util.HashMap 21import java.util.HashMap
21import scala.collection.JavaConverters._ 22import scala.collection.JavaConverters._
22import tech.oxfordsemantic.jrdfox.client.UpdateType 23import tech.oxfordsemantic.jrdfox.client.UpdateType
@@ -97,6 +98,14 @@ object RSAConfig {
97 println(help) 98 println(help)
98 sys.exit(0) 99 sys.exit(0)
99 } 100 }
101 case flag @ ("-o" | "--output") :: _output :: tail =>
102 try {
103 val output = Paths.get(_output)
104 parse(tail, config ++ Map('output -> output))
105 } catch {
106 case e: InvalidPathException =>
107 exit(s"'${_output}' is not a valid filename.")
108 }
100 case flag @ ("-q" | "--queries") :: _query :: tail => { 109 case flag @ ("-q" | "--queries") :: _query :: tail => {
101 val query = new File(_query) 110 val query = new File(_query)
102 if (!query.isFile) 111 if (!query.isFile)
@@ -144,6 +153,11 @@ object RSAComb extends App {
144 153
145 val answers = rsa ask queries 154 val answers = rsa ask queries
146 155
156 /* Write answers to output file */
157 val output = new PrintWriter(config('output).get[Path].toFile)
158 output.write(ujson.write(ujson.Arr(answers.map(_.toJSON)), indent = 4))
159 output.close()
160
147 // Logger.print(s"$answers", Logger.VERBOSE) 161 // Logger.print(s"$answers", Logger.VERBOSE)
148 // Logger print s"Number of answers: ${answers.length} (${answers.lengthWithMultiplicity})" 162 // Logger print s"Number of answers: ${answers.length} (${answers.lengthWithMultiplicity})"
149 // Retrieve unfiltered answers 163 // Retrieve unfiltered answers