Exemple #1
0
    def updateQuads(self, newGraphs):
        newQuads = set.union(*newGraphs)
        g = graphFromQuads(newQuads)
        log.debug(f'{self.uri} update to {len(newQuads)} statements')

        self.influx.exportToInflux(newQuads)

        self.masterGraph.patchSubgraph(self.uri, g)
Exemple #2
0
    def updateQuads(self, newGraphs):
        newQuads = set.union(*newGraphs)
        g = graphFromQuads(newQuads)
        log.debug(f'{self.uri} update to {len(newQuads)} statements')

        for quad in newQuads:
            meas = quad[0].split('/')[-1]
            if meas.startswith('airQuality'):
                where_prefix, type_ = meas[len('airQuality'):].split('door')
                where = where_prefix + 'door'
                metric = 'air'
                tags = {'loc': where.lower(), 'type': type_.lower()}
                val = quad[2].toPython()
                if metric not in collectors:
                    collectors[metric] = Gauge(metric,
                                               'measurement',
                                               labelnames=tags.keys())

                collectors[metric].labels(**tags).set(val)

        self.masterGraph.patchSubgraph(self.uri, g)
Exemple #3
0
 def testNoticesDels(self):
     g1 = graphFromQuads([stmt1])
     g2 = ConjunctiveGraph()
     p = Patch.fromDiff(g1, g2)
     self.assertEqual(p.addQuads, [])
     self.assertEqual(p.delQuads, [stmt1])
Exemple #4
0
 def testNonEmpty(self):
     g1 = ConjunctiveGraph()
     g2 = graphFromQuads([stmt1])
     p = Patch.fromDiff(g1, g2)
     self.assertTrue(p)
Exemple #5
0
 def delGraph(self):
     if self._delGraph is None:
         self._delGraph = graphFromQuads(self.delQuads)
     return self._delGraph
Exemple #6
0
 def addGraph(self):
     if self._addGraph is None:
         self._addGraph = graphFromQuads(self.addQuads)
     return self._addGraph