Mercurial > code > home > repos > homeauto
changeset 1677:aa35ae7a1acc
add new bug test (no fix yet)
author | drewp@bigasterisk.com |
---|---|
date | Wed, 22 Sep 2021 01:22:05 -0700 |
parents | e6d28e6d47b2 |
children | 7831b5de3572 |
files | service/mqtt_to_rdf/inference.py service/mqtt_to_rdf/inference_test.py service/mqtt_to_rdf/stmt_chunk.py |
diffstat | 3 files changed, 21 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/service/mqtt_to_rdf/inference.py Wed Sep 22 01:07:37 2021 -0700 +++ b/service/mqtt_to_rdf/inference.py Wed Sep 22 01:22:05 2021 -0700 @@ -473,6 +473,6 @@ log.debug('') log.debug(f'{INDENT*2}-applying rule {i}') log.debug(f'{INDENT*3} rule def lhs:') - for stmt in sorted(r.lhsGraph, reverse=True): + for stmt in sorted(r.lhs.graph.allChunks()): log.debug(f'{INDENT*4} {stmt}') log.debug(f'{INDENT*3} rule def rhs: {graphDump(r.rhsGraph)}')
--- a/service/mqtt_to_rdf/inference_test.py Wed Sep 22 01:07:37 2021 -0700 +++ b/service/mqtt_to_rdf/inference_test.py Wed Sep 22 01:22:05 2021 -0700 @@ -401,6 +401,24 @@ ''') + def testRemap(self): + inf = makeInferenceWithRules(''' + { + ?sensor a :AirQualitySensor; :label ?name . + (:mqttSource ?name) :childResource ?base . + } => { + ?sensor :statementSourceBase ?base . + } . + ''') + out = inf.infer(N3(''' + :airQualityIndoor a :AirQualitySensor; :label "air_quality_indoor" . + :airQualityOutdoor a :AirQualitySensor; :label "air_quality_outdoor" . + ''')) + self.assertGraphEqual(out, N3(''' + :airQualityIndoor :statementSourceBase <http://projects.bigasterisk.com/room/mqttSource/air_quality_indoor> . + :airQualityOutdoor :statementSourceBase <http://projects.bigasterisk.com/room/mqttSource/air_quality_outdoor> . + ''')) + class TestListPerformance(WithGraphEqual):
--- a/service/mqtt_to_rdf/stmt_chunk.py Wed Sep 22 01:07:37 2021 -0700 +++ b/service/mqtt_to_rdf/stmt_chunk.py Wed Sep 22 01:22:05 2021 -0700 @@ -118,8 +118,8 @@ yield aligned def __repr__(self): - pre = ('+'.join('%s' % elem for elem in self.subjList) + '+' if self.subjList else '') - post = ('+' + '+'.join('%s' % elem for elem in self.objList) if self.objList else '') + pre = ('+'.join(repr(elem) for elem in self.subjList) + '+' if self.subjList else '') + post = ('+' + '+'.join(repr(elem) for elem in self.objList) if self.objList else '') return pre + repr(self.primary) + post def isFunctionCall(self, functionsFor) -> bool: