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)
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)
def testNoticesDels(self): g1 = graphFromQuads([stmt1]) g2 = ConjunctiveGraph() p = Patch.fromDiff(g1, g2) self.assertEqual(p.addQuads, []) self.assertEqual(p.delQuads, [stmt1])
def testNonEmpty(self): g1 = ConjunctiveGraph() g2 = graphFromQuads([stmt1]) p = Patch.fromDiff(g1, g2) self.assertTrue(p)
def delGraph(self): if self._delGraph is None: self._delGraph = graphFromQuads(self.delQuads) return self._delGraph
def addGraph(self): if self._addGraph is None: self._addGraph = graphFromQuads(self.addQuads) return self._addGraph