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
« 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
5class SPARQLInsertSerializer(TurtleSerializer):
6 def startDocument(self):
7 self._started = True
8 ns_list = sorted(self.namespaces.items())
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")
19 def endDocument(self):
20 if self._spacious:
21 self.write("\n")
22 self.write("}")
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)
33rdflib.plugin.register('sparql-insert', Serializer, 'ckanext.udc.graph.serializer', 'SPARQLInsertSerializer')