aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico Igne <federico.igne@cs.ox.ac.uk>2021-11-25 17:26:38 +0000
committerFederico Igne <federico.igne@cs.ox.ac.uk>2021-11-25 17:26:38 +0000
commit57444fcc686472e1c5bd7a1dca0606f6b6ca498f (patch)
treefe15c67556236afdac3beff5be3342d36ea5f82a
parent1398930f4d81664534af1c90cf15b064d869eb2c (diff)
downloadRSAComb-57444fcc686472e1c5bd7a1dca0606f6b6ca498f.tar.gz
RSAComb-57444fcc686472e1c5bd7a1dca0606f6b6ca498f.zip
Ignore unparsable queries and notify the user
-rw-r--r--src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala3
-rw-r--r--src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala19
2 files changed, 14 insertions, 8 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 3aa81a7..2daa634 100644
--- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala
+++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala
@@ -57,7 +57,8 @@ object RSAComb extends App {
57 if (config contains 'queries) { 57 if (config contains 'queries) {
58 val queries = 58 val queries =
59 RDFoxUtil.loadQueriesFromFiles( 59 RDFoxUtil.loadQueriesFromFiles(
60 config('queries).get[List[os.Path]] 60 config('queries).get[List[os.Path]],
61 RSA.Prefixes
61 ) 62 )
62 63
63 val answers = rsa ask queries 64 val answers = rsa ask queries
diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala
index fe1abf7..6e10b30 100644
--- a/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala
+++ b/src/main/scala/uk/ac/ox/cs/rsacomb/util/RDFoxUtil.scala
@@ -317,13 +317,18 @@ object RDFoxUtil {
317 query: String, 317 query: String,
318 prefixes: Prefixes = new Prefixes() 318 prefixes: Prefixes = new Prefixes()
319 ): Option[SelectQuery] = { 319 ): Option[SelectQuery] = {
320 val parser = new SPARQLParser( 320 val parser = new SPARQLParser(prefixes, new StringReader(query))
321 prefixes, 321 try {
322 new StringReader(query) 322 parser.parseSingleQuery() match {
323 ) 323 case q: SelectQuery => Some(q)
324 parser.parseSingleQuery() match { 324 case _ => None
325 case q: SelectQuery => Some(q) 325 }
326 case _ => None 326 } catch {
327 /* Just ignore unparsable queries */
328 case error: Throwable => {
329 Logger print s"Unable to parse '$query' due to error '$error'"
330 None
331 }
327 } 332 }
328 } 333 }
329 334