Mercurial > code > home > repos > homeauto
comparison service/mqtt_to_rdf/inference.py @ 1641:5403c6343fa4
debug logs
author | drewp@bigasterisk.com |
---|---|
date | Wed, 15 Sep 2021 23:56:21 -0700 |
parents | 4bb6f593ebf3 |
children | 3059f31b2dfa |
comparison
equal
deleted
inserted
replaced
1640:4bb6f593ebf3 | 1641:5403c6343fa4 |
---|---|
269 (s, p, o) = stmt | 269 (s, p, o) = stmt |
270 return p == MATH['sum'], p, s, o | 270 return p == MATH['sum'], p, s, o |
271 | 271 |
272 stmtsToAdd.sort(key=lightSortKey) | 272 stmtsToAdd.sort(key=lightSortKey) |
273 | 273 |
274 for perm in itertools.permutations(stmtsToAdd): | 274 for i, perm in enumerate(itertools.permutations(stmtsToAdd)): |
275 stmtStack: List[StmtLooper] = [] | 275 stmtStack: List[StmtLooper] = [] |
276 prev: Optional[StmtLooper] = None | 276 prev: Optional[StmtLooper] = None |
277 log.debug(f'{INDENT*5} try stmts in this order: {" -> ".join(graphDump([p]) for p in perm)}') | 277 log.debug(f'{INDENT*5} [perm {i}] try stmts in this order: {" -> ".join(graphDump([p]) for p in perm)}') |
278 | 278 |
279 for s in perm: | 279 for s in perm: |
280 try: | 280 try: |
281 elem = StmtLooper(s, prev, knownTrue, parent=self) | 281 elem = StmtLooper(s, prev, knownTrue, parent=self) |
282 except NoOptions: | 282 except NoOptions: |
404 stats['iterations'] += 1 | 404 stats['iterations'] += 1 |
405 log.info(f'{INDENT*2} this inference iteration added {delta} more implied stmts') | 405 log.info(f'{INDENT*2} this inference iteration added {delta} more implied stmts') |
406 stats['timeSpent'] = round(time.time() - startTime, 3) | 406 stats['timeSpent'] = round(time.time() - startTime, 3) |
407 stats['impliedStmts'] = len(implied) | 407 stats['impliedStmts'] = len(implied) |
408 log.info(f'{INDENT*0} Inference done {dict(stats)}. Implied:') | 408 log.info(f'{INDENT*0} Inference done {dict(stats)}. Implied:') |
409 for st in implied: | 409 log.info(graphDump(implied)) |
410 log.info(f'{INDENT*1} {st}') | |
411 return implied | 410 return implied |
412 | 411 |
413 def _iterateAllRules(self, workingSet: Graph, implied: Graph, stats): | 412 def _iterateAllRules(self, workingSet: Graph, implied: Graph, stats): |
414 for i, rule in enumerate(self.rules): | 413 for i, rule in enumerate(self.rules): |
415 self._logRuleApplicationHeader(workingSet, i, rule) | 414 self._logRuleApplicationHeader(workingSet, i, rule) |