# 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: Graph | ConjunctiveGraph)

  Bases: `Serializer`

  Serializes RDF graphs to NTriples format.

  __annotations__ = {}
  __init__(store: Graph | ConjunctiveGraph)
  __module__ = 'rdflib.plugins.serializers.hext'
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = 'utf-8', **kwargs)

    Abstract method

## rdflib.plugins.serializers.jsonld module

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

> http://json-ld.org/

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=4))
    [
        {
            "@id": "http://example.org/about",
            "http://purl.org/dc/terms/title": [
                {
                    "@language": "en",
                    "@value": "Someone's Homepage"
                }
            ]
        }
    ]

class rdflib.plugins.serializers.jsonld.JsonLDSerializer(store: Graph)

  Bases: `Serializer`

  __annotations__ = {}
  __init__(store: Graph)
  __module__ = 'rdflib.plugins.serializers.jsonld'
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = None, **kwargs)

    Abstract method

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)

## 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, 2021

class rdflib.plugins.serializers.longturtle.LongTurtleSerializer(store)

  Bases: `RecursiveSerializer`

  __annotations__ = {}
  __init__(store)
  __module__ = 'rdflib.plugins.serializers.longturtle'
  addNamespace(prefix, namespace)
  doList(l_)
  endDocument()
  getQName(uri, gen_prefix=True)
  indentString = ' '
  isValidList(l_)

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

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

    Abstract method

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

## rdflib.plugins.serializers.n3 module

Notation 3 (N3) RDF graph serializer for RDFLib.

class rdflib.plugins.serializers.n3.N3Serializer(store: Graph, parent=None)

  Bases: `TurtleSerializer`

  __annotations__ = {}
  __init__(store: Graph, parent=None)
  __module__ = 'rdflib.plugins.serializers.n3'
  endDocument()
  getQName(uri, gen_prefix=True)
  indent(modifier=0)

    Returns indent string multiplied by the depth

  isDone(subject)

    Return true if subject is serialized

  p_clause(node, position)
  path(node, position, newline=False)
  preprocessTriple(triple)
  reset()
  s_clause(subject)
  short_name = 'n3'
  startDocument()
  statement(subject)
  subjectDone(subject)

    Mark a subject as done.

## rdflib.plugins.serializers.nquads module

class rdflib.plugins.serializers.nquads.NQuadsSerializer(store: Graph)

  Bases: `Serializer`

  __annotations__ = {}
  __init__(store: Graph)
  __module__ = 'rdflib.plugins.serializers.nquads'
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = None, **args)

    Abstract method

## rdflib.plugins.serializers.nt module

N-Triples RDF graph serializer for RDFLib. See <http://www.w3.org/TR/rdf-testcases/#ntriples> for details about the format.

class rdflib.plugins.serializers.nt.NTSerializer(store: Graph)

  Bases: `Serializer`

  Serializes RDF graphs to NTriples format.

  __annotations__ = {}
  __init__(store: Graph)
  __module__ = 'rdflib.plugins.serializers.nt'
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = 'utf-8', **args)

    Abstract method

## rdflib.plugins.serializers.rdfxml module

class rdflib.plugins.serializers.rdfxml.PrettyXMLSerializer(store: Graph, max_depth=3)

  Bases: `Serializer`

  __annotations__ = {}
  __init__(store: Graph, max_depth=3)
  __module__ = 'rdflib.plugins.serializers.rdfxml'
  predicate(predicate, object, depth=1)
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = None, **args)

    Abstract method

  subject(subject: Identifier, depth: int = 1)

class rdflib.plugins.serializers.rdfxml.XMLSerializer(store: Graph)

  Bases: `Serializer`

  __annotations__ = {}
  __init__(store: Graph)
  __module__ = 'rdflib.plugins.serializers.rdfxml'
  predicate(predicate, object, depth=1)
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = None, **args)

    Abstract method

  subject(subject, depth=1)

rdflib.plugins.serializers.rdfxml.fix(val)

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

## 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: Graph | ConjunctiveGraph)

  Bases: `TurtleSerializer`

  __annotations__ = {}
  __init__(store: Graph | ConjunctiveGraph)
  __module__ = 'rdflib.plugins.serializers.trig'
  indentString = ' '
  preprocess()
  reset()
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = None, spacious: bool | None = None, **args)

    Abstract method

  short_name = 'trig'

## rdflib.plugins.serializers.trix module

class rdflib.plugins.serializers.trix.TriXSerializer(store: Graph)

  Bases: `Serializer`

  __annotations__ = {}
  __init__(store: Graph)
  __module__ = 'rdflib.plugins.serializers.trix'
  serialize(stream: IO[bytes], base: str | None = None, encoding: str | None = None, **args)

    Abstract method

## 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)

  Bases: `Serializer`

  __annotations__ = {}
  __init__(store)
  __module__ = 'rdflib.plugins.serializers.turtle'
  addNamespace(prefix, uri)
  buildPredicateHash(subject)

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

  checkSubject(subject)

    Check to see if the subject should be serialized yet

  indent(modifier=0)

    Returns indent string multiplied by the depth

  indentString = ' '
  isDone(subject)

    Return true if subject is serialized

  maxDepth = 10
  orderSubjects()
  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()
  preprocessTriple(spo)
  reset()
  roundtrip_prefixes = ()
  sortProperties(properties)

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

  subjectDone(subject)

    Mark a subject as done.

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

    Write text in given encoding.

class rdflib.plugins.serializers.turtle.TurtleSerializer(store)

  Bases: `RecursiveSerializer`

  __annotations__ = {}
  __init__(store)
  __module__ = 'rdflib.plugins.serializers.turtle'
  addNamespace(prefix, namespace)
  doList(l_)
  endDocument()
  getQName(uri, gen_prefix=True)
  indentString = ' '
  isValidList(l_)

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

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

    Abstract method

  short_name = 'turtle'
  startDocument()
  statement(subject)
  verb(node, newline=False)

## rdflib.plugins.serializers.xmlwriter module

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

  Bases: `object`

  __dict__ = mappingproxy({'__module__': 'rdflib.plugins.serializers.xmlwriter', '__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>, '__dict__': <attribute '__dict__' of 'XMLWriter' objects>, '__weakref__': <attribute '__weakref__' of 'XMLWriter' objects>, '__doc__': None, '__annotations__': {}})
  __init__(stream, namespace_manager, encoding=None, decl=1, extra_ns=None)
  __module__ = 'rdflib.plugins.serializers.xmlwriter'
  __weakref__

    list of weak references to the object

  attribute(uri, value)
  element(uri, content, attributes={})

    Utility method for adding a complete simple element

  property indent
  namespaces(namespaces=None)
  pop(uri=None)
  push(uri)
  qname(uri)

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

  text(text)

## Module contents