import unittest from rdflib import Graph from rdflib.plugins.stores.memory import Memory, SimpleMemory from rdflib.plugins.stores.auditable import AuditableStore class TestIssue1141(unittest.TestCase): """ Tests is Turtle and TriG parsing works with a store with or without formula support """ def test_issue_1141_1(self): file = b"@prefix : . :s :p :o ." for format in ("turtle", "trig"): # with formula graph = Graph() self.assertTrue(graph.store.formula_aware) graph.parse(data=file, format=format) self.assertEqual(len(graph), 1) # without graph = Graph(store=AuditableStore(Memory())) self.assertFalse(graph.store.formula_aware) graph.parse(data=file, format=format) self.assertEqual(len(graph), 1) def test_issue_1141_2(self): file = b"@prefix : . :s :p :o ." # with formula graph = Graph(store=Memory()) self.assertTrue(graph.store.formula_aware) graph.parse(data=file, format="turtle") self.assertEqual(len(graph), 1) # without graph = Graph(store=SimpleMemory()) self.assertFalse(graph.store.formula_aware) graph.parse(data=file, format="turtle") self.assertEqual(len(graph), 1) def test_issue_1141_3(self): file = b" ." # with contexts graph = Graph(store=Memory()) self.assertTrue(graph.store.context_aware) self.assertTrue(graph.store.formula_aware) graph.parse(data=file, format="nt") self.assertEqual(len(graph), 1) # without graph = Graph(store=SimpleMemory()) self.assertFalse(graph.store.context_aware) self.assertFalse(graph.store.formula_aware) graph.parse(data=file, format="nt") self.assertEqual(len(graph), 1)