diff service/reasoning/reasoning.py @ 1555:606bb60a5e5c

something with rx on inputgraph, i forget. also cleanup imports and logging of oneshot Ignore-this: 263923a8d12db2173017bc9dbfc638ba darcs-hash:cedac5a49c9cbd0b8c34c80efa9282853fda2cc5
author drewp <drewp@bigasterisk.com>
date Thu, 13 Feb 2020 23:00:06 -0800
parents 0da337780f22
children f3f667769aef
line wrap: on
line diff
--- a/service/reasoning/reasoning.py	Thu Feb 13 22:58:56 2020 -0800
+++ b/service/reasoning/reasoning.py	Thu Feb 13 23:00:06 2020 -0800
@@ -22,9 +22,8 @@
 
 from colorlog import ColoredFormatter
 from docopt import docopt
-from rdflib import Namespace, Literal, RDF, Graph
-from twisted.internet import reactor, task, defer
-from twisted.internet.defer import inlineCallbacks
+from rdflib import Namespace, Literal, RDF, Graph, URIRef
+from twisted.internet import reactor, defer
 import cyclone.web, cyclone.websocket
 
 from greplin import scales
@@ -49,17 +48,23 @@
                           scales.PmfStat('updateRules'),
 )
 
+def ntStatement(stmt):
+    def compact(u):
+        if isinstance(u, URIRef) and u.startswith(ROOM):
+            return 'room:' + u[len(ROOM):]
+        return u.n3()
+    return '%s %s %s .' % (compact(stmt[0]), compact(stmt[1]), compact(stmt[2]))
+
 class Reasoning(object):
     def __init__(self, mockOutput=False):
         self.prevGraph = None
 
-        self.actions = Actions(sendToLiveClients, mockOutput=mockOutput)
-
         self.rulesN3 = "(not read yet)"
         self.inferred = Graph() # gets replaced in each graphChanged call
         self.outputGraph = PatchableGraph() # copy of inferred, for now
 
         self.inputGraph = InputGraph([], self.graphChanged)
+        self.actions = Actions(self.inputGraph, sendToLiveClients, mockOutput=mockOutput)
         self.inputGraph.updateFileData()
 
     @STATS.updateRules.time()
@@ -99,7 +104,7 @@
                  oneShot, len(oneShotGraph) if oneShotGraph is not None else 0)
         if oneShotGraph:
             for stmt in oneShotGraph:
-                log.info(" OS-> %r", stmt)
+                log.info(" oneshot -> %s", ntStatement(stmt))
         t1 = time.time()
         oldInferred = self.inferred
         try:
@@ -120,7 +125,7 @@
                 self.inferred += oneShotGraph
 
             t3 = time.time()
-            self.actions.putResults(self.inputGraph.getGraph(), self.inferred)
+            self.actions.putResults(self.inferred)
             putResultsTime = time.time() - t3
         finally:
             if oneShot: