rdflib.plugins.serializers package

Submodules

rdflib.plugins.serializers.hext module

HextuplesSerializer RDF graph serializer for RDFLib. See <https://github.com/ontola/hextuples> for details about the format.

class rdflib.plugins.serializers.hext.HextuplesSerializer(store)[source]

Bases: Serializer

Serializes RDF graphs to NTriples format.

Parameters:

store (Union[Graph, Dataset, ConjunctiveGraph])

__annotations__ = {'contexts': 'List[Union[Graph, IdentifiedNode]]', 'dumps': 'Callable'}
__firstlineno__ = 28
__init__(store)[source]
Parameters:

store (Union[Graph, Dataset, ConjunctiveGraph])

__module__ = 'rdflib.plugins.serializers.hext'
static __new__(cls, store)[source]
Parameters:

store (Union[Graph, Dataset, ConjunctiveGraph])

__static_attributes__ = ('contexts', 'default_context', 'graph_type')
contexts: List[Union[Graph, IdentifiedNode]]
dumps: Callable
serialize(stream, base=None, encoding='utf-8', **kwargs)[source]

Abstract method

Parameters:

rdflib.plugins.serializers.jsonld module

This serialiser will output an RDF Graph as a JSON-LD formatted document. See:

Example usage:

>>> from rdflib import Graph
>>> testrdf = '''
... @prefix dc: <http://purl.org/dc/terms/> .
... <http://example.org/about>
...     dc:title "Someone's Homepage"@en .
... '''

>>> g = Graph().parse(data=testrdf, format='n3')

>>> print(g.serialize(format='json-ld', indent=2))
[
  {
    "@id": "http://example.org/about",
    "http://purl.org/dc/terms/title": [
      {
        "@language": "en",
        "@value": "Someone's Homepage"
      }
    ]
  }
]
class rdflib.plugins.serializers.jsonld.JsonLDSerializer(store)[source]

Bases: Serializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 58
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.jsonld'
__static_attributes__ = ()
serialize(stream, base=None, encoding=None, **kwargs)[source]

Abstract method

Parameters:
rdflib.plugins.serializers.jsonld.from_rdf(graph, context_data=None, base=None, use_native_types=False, use_rdf_type=False, auto_compact=False, startnode=None, index=False)[source]

rdflib.plugins.serializers.longturtle module

LongTurtle RDF graph serializer for RDFLib. See <http://www.w3.org/TeamSubmission/turtle/> for syntax specification.

This variant, longturtle as opposed to just turtle, makes some small format changes to turtle - the original turtle serializer. It:

  • uses PREFIX instead of @prefix

  • uses BASE instead of @base

  • adds a new line at RDF.type, or ‘a’

  • adds a newline and an indent for all triples with more than one object (object list)

  • adds a new line and ‘;’ for the last triple in a set with ‘.’

    on the start of the next line

  • uses default encoding (encode()) is used instead of “latin-1”

  • Nicholas Car, 2023

class rdflib.plugins.serializers.longturtle.LongTurtleSerializer(store)[source]

Bases: RecursiveSerializer

__annotations__ = {}
__firstlineno__ = 35
__init__(store)[source]
__module__ = 'rdflib.plugins.serializers.longturtle'
__static_attributes__ = ('_ns_rewrite', '_shortNames', '_spacious', '_started', 'base', 'keywords', 'stream')
addNamespace(prefix, namespace)[source]
doList(l_)[source]
endDocument()[source]
getQName(uri, gen_prefix=True)[source]
indentString = '    '
isValidList(l_)[source]

Checks if l is a valid RDF list, i.e. no nodes have other properties.

label(node, position)[source]
objectList(objects)[source]
p_default(node, position, newline=False)[source]
p_squared(node, position)[source]
path(node, position, newline=False)[source]
predicateList(subject, newline=False)[source]
preprocessTriple(triple)[source]
reset()[source]
s_default(subject)[source]
s_squared(subject)[source]
serialize(stream, base=None, encoding=None, spacious=None, **args)[source]

Abstract method

short_name = 'longturtle'
startDocument()[source]
statement(subject)[source]
verb(node, newline=False)[source]

rdflib.plugins.serializers.n3 module

Notation 3 (N3) RDF graph serializer for RDFLib.

class rdflib.plugins.serializers.n3.N3Serializer(store, parent=None)[source]

Bases: TurtleSerializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 14
__init__(store, parent=None)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.n3'
__static_attributes__ = ('_stores', 'parent')
endDocument()[source]
getQName(uri, gen_prefix=True)[source]
indent(modifier=0)[source]

Returns indent string multiplied by the depth

p_clause(node, position)[source]
path(node, position, newline=False)[source]
preprocessTriple(triple)[source]
reset()[source]
s_clause(subject)[source]
short_name = 'n3'
statement(subject)[source]

rdflib.plugins.serializers.nquads module

class rdflib.plugins.serializers.nquads.NQuadsSerializer(store)[source]

Bases: Serializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 14
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.nquads'
__static_attributes__ = ()
serialize(stream, base=None, encoding=None, **args)[source]

Abstract method

Parameters:

rdflib.plugins.serializers.nt module

class rdflib.plugins.serializers.nt.NTSerializer(store)[source]

Bases: Serializer

Serializes RDF graphs to NTriples format.

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 23
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.nt'
__static_attributes__ = ()
serialize(stream, base=None, encoding='utf-8', **args)[source]

Abstract method

Parameters:
Return type:

None

rdflib.plugins.serializers.patch module

class rdflib.plugins.serializers.patch.PatchSerializer(store)[source]

Bases: Serializer

Creates an RDF patch file to add and remove triples/quads. Can either: - Create an add or delete patch for a single Dataset. - Create a patch to represent the difference between two Datasets.

Parameters:

store (Dataset)

__annotations__ = {}
__firstlineno__ = 15
__init__(store)[source]
Parameters:

store (Dataset)

__module__ = 'rdflib.plugins.serializers.patch'
__static_attributes__ = ('store',)
serialize(stream, base=None, encoding=None, **kwargs)[source]

Serialize the store to the given stream. :type stream: IO[bytes] :param stream: The stream to serialize to. :type base: Optional[str] :param base: The base URI to use for the serialization. :type encoding: Optional[str] :param encoding: The encoding to use for the serialization. :type kwargs: :param kwargs: Additional keyword arguments. Supported keyword arguments: - operation: The operation to perform. Either ‘add’ or ‘remove’. - target: The target Dataset to compare against. NB: Only one of ‘operation’ or ‘target’ should be provided. - header_id: The header ID to use. - header_prev: The previous header ID to use.

rdflib.plugins.serializers.rdfxml module

class rdflib.plugins.serializers.rdfxml.PrettyXMLSerializer(store, max_depth=3)[source]

Bases: Serializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 169
__init__(store, max_depth=3)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.rdfxml'
__static_attributes__ = ('__serialized', 'base', 'forceRDFAbout', 'max_depth', 'nm', 'writer')
predicate(predicate, object, depth=1)[source]
Parameters:
Return type:

None

serialize(stream, base=None, encoding=None, **args)[source]

Abstract method

Parameters:
Return type:

None

subject(subject, depth=1)[source]
Parameters:
class rdflib.plugins.serializers.rdfxml.XMLSerializer(store)[source]

Bases: Serializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 21
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.rdfxml'
__static_attributes__ = ('__serialized', '__stream', 'base', 'write')
predicate(predicate, object, depth=1)[source]
Parameters:
Return type:

None

serialize(stream, base=None, encoding=None, **args)[source]

Abstract method

Parameters:
Return type:

None

subject(subject, depth=1)[source]
Parameters:
Return type:

None

rdflib.plugins.serializers.rdfxml.fix(val)[source]

strip off _: from nodeIDs… as they are not valid NCNames

Parameters:

val (str)

Return type:

str

rdflib.plugins.serializers.trig module

Trig RDF graph serializer for RDFLib. See <http://www.w3.org/TR/trig/> for syntax specification.

class rdflib.plugins.serializers.trig.TrigSerializer(store)[source]

Bases: TurtleSerializer

Parameters:

store (Union[Graph, ConjunctiveGraph])

__annotations__ = {}
__firstlineno__ = 20
__init__(store)[source]
Parameters:

store (Union[Graph, ConjunctiveGraph])

__module__ = 'rdflib.plugins.serializers.trig'
__static_attributes__ = ('_contexts', '_serialized', '_spacious', '_subjects', 'base', 'contexts', 'default_context', 'store', 'stream')
indentString = '    '
preprocess()[source]
Return type:

None

reset()[source]
Return type:

None

serialize(stream, base=None, encoding=None, spacious=None, **args)[source]

Abstract method

Parameters:
short_name = 'trig'

rdflib.plugins.serializers.trix module

class rdflib.plugins.serializers.trix.TriXSerializer(store)[source]

Bases: Serializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 18
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.trix'
__static_attributes__ = ('writer',)
serialize(stream, base=None, encoding=None, **args)[source]

Abstract method

Parameters:

rdflib.plugins.serializers.turtle module

Turtle RDF graph serializer for RDFLib. See <http://www.w3.org/TeamSubmission/turtle/> for syntax specification.

class rdflib.plugins.serializers.turtle.RecursiveSerializer(store)[source]

Bases: Serializer

Parameters:

store (Graph)

__annotations__ = {'roundtrip_prefixes': 'Tuple[Any, ...]'}
__firstlineno__ = 34
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.turtle'
__static_attributes__ = ('_references', '_serialized', '_subjects', '_topLevels', 'depth', 'lists', 'namespaces', 'stream')
addNamespace(prefix, uri)[source]
Parameters:
Return type:

None

buildPredicateHash(subject)[source]

Build a hash key by predicate to a list of objects for the given subject

Parameters:

subject (Node)

Return type:

Mapping[Node, List[Node]]

checkSubject(subject)[source]

Check to see if the subject should be serialized yet

Parameters:

subject (Node)

Return type:

bool

indent(modifier=0)[source]

Returns indent string multiplied by the depth

Parameters:

modifier (int)

Return type:

str

indentString = '  '
isDone(subject)[source]

Return true if subject is serialized

Parameters:

subject (Node)

Return type:

bool

maxDepth = 10
orderSubjects()[source]
Return type:

List[Node]

predicateOrder = [rdflib.term.URIRef('http://www.w3.org/1999/02/22-rdf-syntax-ns#type'), rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#label')]
preprocess()[source]
Return type:

None

preprocessTriple(spo)[source]
Parameters:

spo (Tuple[Node, Node, Node])

Return type:

None

reset()[source]
Return type:

None

roundtrip_prefixes: Tuple[Any, ...] = ()
sortProperties(properties)[source]

Take a hash from predicate uris to lists of values. Sort the lists of values. Return a sorted list of properties.

Parameters:

properties (Mapping[Node, List[Node]])

Return type:

List[Node]

subjectDone(subject)[source]

Mark a subject as done.

Parameters:

subject (Node)

Return type:

None

topClasses = [rdflib.term.URIRef('http://www.w3.org/2000/01/rdf-schema#Class')]
write(text)[source]

Write text in given encoding.

Parameters:

text (str)

Return type:

None

class rdflib.plugins.serializers.turtle.TurtleSerializer(store)[source]

Bases: RecursiveSerializer

Parameters:

store (Graph)

__annotations__ = {}
__firstlineno__ = 181
__init__(store)[source]
Parameters:

store (Graph)

__module__ = 'rdflib.plugins.serializers.turtle'
__static_attributes__ = ('_ns_rewrite', '_shortNames', '_spacious', '_started', 'base', 'keywords', 'stream')
addNamespace(prefix, namespace)[source]
Parameters:
Return type:

str

doList(l_)[source]
Parameters:

l_ (Node)

Return type:

None

endDocument()[source]
Return type:

None

getQName(uri, gen_prefix=True)[source]
Parameters:
Return type:

Optional[str]

indentString = '    '
isValidList(l_)[source]

Checks if l is a valid RDF list, i.e. no nodes have other properties.

Parameters:

l_ (Node)

Return type:

bool

label(node, position)[source]
Parameters:
Return type:

str

objectList(objects)[source]
Parameters:

objects (Sequence[Node])

Return type:

None

p_default(node, position, newline=False)[source]
Parameters:
Return type:

bool

p_squared(node, position, newline=False)[source]
Parameters:
Return type:

bool

path(node, position, newline=False)[source]
Parameters:
Return type:

None

predicateList(subject, newline=False)[source]
Parameters:
Return type:

None

preprocessTriple(triple)[source]
Parameters:

triple (Tuple[Node, Node, Node])

Return type:

None

reset()[source]
Return type:

None

s_default(subject)[source]
Parameters:

subject (Node)

Return type:

bool

s_squared(subject)[source]
Parameters:

subject (Node)

Return type:

bool

serialize(stream, base=None, encoding=None, spacious=None, **args)[source]

Abstract method

Parameters:
Return type:

None

short_name = 'turtle'
startDocument()[source]
Return type:

None

statement(subject)[source]
Parameters:

subject (Node)

Return type:

bool

verb(node, newline=False)[source]
Parameters:
Return type:

None

rdflib.plugins.serializers.xmlwriter module

class rdflib.plugins.serializers.xmlwriter.XMLWriter(stream, namespace_manager, encoding=None, decl=1, extra_ns=None)[source]

Bases: object

Parameters:
__dict__ = mappingproxy({'__module__': 'rdflib.plugins.serializers.xmlwriter', '__firstlineno__': 18, '__init__': <function XMLWriter.__init__>, '_XMLWriter__get_indent': <function XMLWriter.__get_indent>, 'indent': <property object>, '_XMLWriter__close_start_tag': <function XMLWriter.__close_start_tag>, 'push': <function XMLWriter.push>, 'pop': <function XMLWriter.pop>, 'element': <function XMLWriter.element>, 'namespaces': <function XMLWriter.namespaces>, 'attribute': <function XMLWriter.attribute>, 'text': <function XMLWriter.text>, 'qname': <function XMLWriter.qname>, '__static_attributes__': ('closed', 'element_stack', 'extra_ns', 'nm', 'parent', 'stream'), '__dict__': <attribute '__dict__' of 'XMLWriter' objects>, '__weakref__': <attribute '__weakref__' of 'XMLWriter' objects>, '__doc__': None, '__annotations__': {'element_stack': 'List[str]'}})
__firstlineno__ = 18
__init__(stream, namespace_manager, encoding=None, decl=1, extra_ns=None)[source]
Parameters:
__module__ = 'rdflib.plugins.serializers.xmlwriter'
__static_attributes__ = ('closed', 'element_stack', 'extra_ns', 'nm', 'parent', 'stream')
__weakref__

list of weak references to the object

attribute(uri, value)[source]
Parameters:
Return type:

None

element(uri, content, attributes={})[source]

Utility method for adding a complete simple element

Parameters:
Return type:

None

property indent: str
namespaces(namespaces=None)[source]
Parameters:

namespaces (Iterable[Tuple[str, str]])

Return type:

None

pop(uri=None)[source]
Parameters:

uri (Optional[str])

Return type:

None

push(uri)[source]
Parameters:

uri (str)

Return type:

None

qname(uri)[source]

Compute qname for a uri using our extra namespaces, or the given namespace manager

Parameters:

uri (str)

Return type:

str

text(text)[source]
Parameters:

text (str)

Return type:

None

Module contents