From bf2d3b0c0a1e3e1c4e2dd54775582775c1650e75 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Tue, 5 Oct 2021 13:59:49 +0100 Subject: Add script to load debug data to RDFox --- src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala | 2 +- src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala | 9 +++++---- src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala | 14 ++++++++++---- 3 files changed, 16 insertions(+), 9 deletions(-) (limited to 'src/main/scala') 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 121c65f..302db75 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/Main.scala @@ -65,7 +65,7 @@ object RSAComb extends App { if (config.contains('answers)) os.write( config('answers).get[os.Path], - ujson.write(ujson.Arr(answers.map(_.toJSON)), indent = 4), + ujson.write(ujson.Arr(answers.map(_.toJSON)), indent = 2), createFolders = true ) diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala index 5ae0227..4b8e015 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/RSAOntology.scala @@ -589,8 +589,8 @@ class RSAOntology( /* Top/equality axiomatization */ RDFoxUtil.addRules(data, topAxioms ++ equalityAxioms) - Logger.write(topAxioms.mkString("\n"), "canonical_model.datalog") - Logger.write(equalityAxioms.mkString("\n"), "canonical_model.datalog") + Logger.write(topAxioms.mkString("\n"), "axiomatisation.dlog") + Logger.write(equalityAxioms.mkString("\n"), "axiomatisation.dlog") /* Introduce `rsacomb:Named` concept */ data.evaluateUpdate( @@ -608,9 +608,10 @@ class RSAOntology( /* Add canonical model */ Logger print s"Canonical model facts: ${this.canonicalModel.facts.length}" + Logger.write(canonicalModel.facts.mkString("\n"), "canonical_model.dlog") RDFoxUtil.addFacts(data, RSAOntology.CanonGraph, this.canonicalModel.facts) Logger print s"Canonical model rules: ${this.canonicalModel.rules.length}" - Logger.write(canonicalModel.rules.mkString("\n"), "canonical_model.datalog") + Logger.write(canonicalModel.rules.mkString("\n"), "canonical_model.dlog") RDFoxUtil.addRules(data, this.canonicalModel.rules) RDFoxUtil.closeConnection(server, data) @@ -622,7 +623,7 @@ class RSAOntology( /* Add filtering program */ Logger print s"Filtering program rules: ${filter.rules.length}" - Logger.write(filter.rules.mkString("\n"), s"filter${query.id}.datalog") + Logger.write(filter.rules.mkString("\n"), s"filter_query${query.id}.dlog") RDFoxUtil.addRules(data, filter.rules) // TODO: We remove the rules, should we drop the tuple table as well? diff --git a/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala b/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala index a55b5a0..b86230e 100644 --- a/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala +++ b/src/main/scala/uk/ac/ox/cs/rsacomb/util/Logger.scala @@ -17,6 +17,7 @@ package uk.ac.ox.cs.rsacomb.util import java.util.Calendar +import java.text.SimpleDateFormat import java.io.PrintStream /** Rough implementation of a logger. @@ -25,9 +26,14 @@ import java.io.PrintStream */ object Logger { - private val time = Calendar.getInstance() - - private lazy val dir = os.temp.dir(os.pwd, "rsacomb-", false) + private lazy val dir = { + val timestamp = (new SimpleDateFormat("yyyyMMddHHmmss")).format( + Calendar.getInstance().getTime + ) + val dir = os.pwd / s"rsacomb-$timestamp" + os.makeDir(dir) + dir + } /** Output stream for the logger. */ var output: PrintStream = System.out @@ -48,7 +54,7 @@ object Logger { def print(str: Any, lvl: Level = NORMAL): Unit = if (lvl <= level) - output println s"[$lvl][${time.getTime}] $str" + output println s"[$lvl][${Calendar.getInstance().getTime}] $str" def write(content: => os.Source, file: String, lvl: Level = VERBOSE): Unit = if (lvl <= level) -- cgit v1.2.3