Mercurial > code > home > repos > homeauto
comparison service/mqtt_to_rdf/inference_test.py @ 1605:449746d1598f
WIP move evaluation to new file
author | drewp@bigasterisk.com |
---|---|
date | Mon, 06 Sep 2021 01:13:55 -0700 |
parents | e78464befd24 |
children | 6cf39d43fd40 |
comparison
equal
deleted
inserted
replaced
1604:e78464befd24 | 1605:449746d1598f |
---|---|
4 import unittest | 4 import unittest |
5 | 5 |
6 from rdflib import RDF, BNode, ConjunctiveGraph, Graph, Literal, Namespace | 6 from rdflib import RDF, BNode, ConjunctiveGraph, Graph, Literal, Namespace |
7 from rdflib.parser import StringInputSource | 7 from rdflib.parser import StringInputSource |
8 | 8 |
9 from inference import Inference, _parseList | 9 from inference import Inference |
10 from rdflib_debug_patches import patchBnodeCounter, patchSlimReprs | 10 from rdflib_debug_patches import patchBnodeCounter, patchSlimReprs |
11 | 11 |
12 patchSlimReprs() | 12 patchSlimReprs() |
13 patchBnodeCounter() | 13 patchBnodeCounter() |
14 | 14 |
176 def testAsFarenheit(self): | 176 def testAsFarenheit(self): |
177 inf = makeInferenceWithRules("{ :a :b ?x . ?x room:asFarenheit ?f } => { :new :stmt ?f } .") | 177 inf = makeInferenceWithRules("{ :a :b ?x . ?x room:asFarenheit ?f } => { :new :stmt ?f } .") |
178 self.assertGraphEqual(inf.infer(N3(":a :b 12 .")), N3(":new :stmt 53.6 .")) | 178 self.assertGraphEqual(inf.infer(N3(":a :b 12 .")), N3(":new :stmt 53.6 .")) |
179 | 179 |
180 | 180 |
181 class TestParseList(unittest.TestCase): | |
182 | |
183 def test0Elements(self): | |
184 g = N3(":a :b () .") | |
185 bn = g.value(EX['a'], EX['b']) | |
186 elems, used = _parseList(g, bn) | |
187 self.assertEqual(elems, []) | |
188 self.assertFalse(used) | |
189 | |
190 def test1Element(self): | |
191 g = N3(":a :b (0) .") | |
192 bn = g.value(EX['a'], EX['b']) | |
193 elems, used = _parseList(g, bn) | |
194 self.assertEqual(elems, [Literal(0)]) | |
195 used = sorted(used) | |
196 self.assertEqual(used, [ | |
197 (bn, RDF.first, Literal(0)), | |
198 (bn, RDF.rest, RDF.nil), | |
199 ]) | |
200 | |
201 | |
202 class TestUseCases(WithGraphEqual): | 181 class TestUseCases(WithGraphEqual): |
203 | 182 |
204 def testSimpleTopic(self): | 183 def testSimpleTopic(self): |
205 inf = makeInferenceWithRules(''' | 184 inf = makeInferenceWithRules(''' |
206 { ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . | 185 { ?msg :body "online" . } => { ?msg :onlineTerm :Online . } . |