Coverage for ckanext/udc/graph/serializer.py: 37%

19 statements  

« prev     ^ index     » next       coverage.py v7.7.1, created at 2026-01-19 23:48 +0000

1import rdflib 

2from rdflib.plugins.serializers.turtle import TurtleSerializer 

3from rdflib.serializer import Serializer 

4 

5class SPARQLInsertSerializer(TurtleSerializer): 

6 def startDocument(self): 

7 self._started = True 

8 ns_list = sorted(self.namespaces.items()) 

9 

10 # Override prefix formats 

11 if self.base: 

12 self.write(self.indent() + "PREFIX : <%s> \n" % self.base) 

13 for prefix, uri in ns_list: 

14 self.write(self.indent() + "PREFIX %s: <%s> \n" % (prefix, uri)) 

15 if ns_list and self._spacious: 

16 self.write("\n") 

17 self.write("INSERT DATA {\n") 

18 

19 def endDocument(self): 

20 if self._spacious: 

21 self.write("\n") 

22 self.write("}") 

23 

24 # def s_default(self, subject): 

25 # properties = self.buildPredicateHash(subject) 

26 # # SKip empty instances 

27 # if len(properties) == 1 and [*properties.keys()][0] == rdflib.RDF.type: 

28 # return False 

29 # return super().s_default(subject) 

30 

31 

32 

33rdflib.plugin.register('sparql-insert', Serializer, 'ckanext.udc.graph.serializer', 'SPARQLInsertSerializer')