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'}
__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]) –

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

Abstract method

Parameters:
Return type:

None

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

__init__(store)[source]
Parameters:

store (Graph) –

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

Abstract method

Parameters:
Return type:

None

store: Graph
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

LongTurtle, a Turtle serialization format.

When the optional parameter canon is set to True, the graph is canonicalized before serialization. This normalizes blank node identifiers and allows for deterministic serialization of the graph. Useful when consistent outputs are required.

__init__(store)[source]
__module__ = 'rdflib.plugins.serializers.longturtle'
addNamespace(prefix, namespace)[source]
canonize()[source]

Apply canonicalization to the store.

This normalizes blank node identifiers and allows for deterministic serialization of the graph.

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, **kwargs)[source]

Abstract method

Parameters:
Return type:

None

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

__init__(store, parent=None)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.n3'
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) –

__init__(store)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.nquads'
base: Optional[str]
encoding: str
serialize(stream, base=None, encoding=None, **kwargs)[source]

Abstract method

Parameters:
Return type:

None

store: Graph

rdflib.plugins.serializers.nt module

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

Bases: Serializer

Serializes RDF graphs to NTriples format.

Parameters:

store (Graph) –

__init__(store)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.nt'
base: Optional[str]
encoding: str
serialize(stream, base=None, encoding='utf-8', **kwargs)[source]

Abstract method

Parameters:
Return type:

None

store: Graph

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

__init__(store)[source]
Parameters:

store (Dataset) –

__module__ = 'rdflib.plugins.serializers.patch'
base: Optional[str]
encoding: str
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: Any :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.

Return type:

None

store: Graph

rdflib.plugins.serializers.rdfxml module

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

Bases: Serializer

Parameters:

store (Graph) –

__init__(store, max_depth=3)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.rdfxml'
base: Optional[str]
encoding: str
predicate(predicate, object, depth=1)[source]
Parameters:
Return type:

None

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

Abstract method

Parameters:
Return type:

None

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

Bases: Serializer

Parameters:

store (Graph) –

__init__(store)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.rdfxml'
base: Optional[str]
encoding: str
predicate(predicate, object, depth=1)[source]
Parameters:
Return type:

None

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

Abstract method

Parameters:
Return type:

None

store: Graph
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]) –

__init__(store)[source]
Parameters:

store (Union[Graph, ConjunctiveGraph]) –

__module__ = 'rdflib.plugins.serializers.trig'
indentString = '    '
preprocess()[source]
Return type:

None

reset()[source]
Return type:

None

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

Abstract method

Parameters:
Return type:

None

short_name = 'trig'

rdflib.plugins.serializers.trix module

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

Bases: Serializer

Parameters:

store (Graph) –

__init__(store)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.trix'
base: Optional[str]
encoding: str
serialize(stream, base=None, encoding=None, **kwargs)[source]

Abstract method

Parameters:
Return type:

None

store: Graph

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, ...]'}
__init__(store)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.turtle'
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) –

__init__(store)[source]
Parameters:

store (Graph) –

__module__ = 'rdflib.plugins.serializers.turtle'
addNamespace(prefix, namespace)[source]
Parameters:
Return type:

str

base: Optional[str]
doList(l_)[source]
Parameters:

l_ (Node) –

Return type:

None

encoding: str
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:
  • node (Node) –

  • position (int) –

Return type:

str

objectList(objects)[source]
Parameters:

objects (Sequence[Node]) –

Return type:

None

p_default(node, position, newline=False)[source]
Parameters:
  • node (Node) –

  • position (int) –

  • newline (bool) –

Return type:

bool

p_squared(node, position, newline=False)[source]
Parameters:
  • node (Node) –

  • position (int) –

  • newline (bool) –

Return type:

bool

path(node, position, newline=False)[source]
Parameters:
  • node (Node) –

  • position (int) –

  • newline (bool) –

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, **kwargs)[source]

Abstract method

Parameters:
Return type:

None

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

None

statement(subject)[source]
Parameters:

subject (Node) –

Return type:

bool

store: Graph
stream: Optional[IO[bytes]]
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', '__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__': {'element_stack': 'List[str]'}})
__init__(stream, namespace_manager, encoding=None, decl=1, extra_ns=None)[source]
Parameters:
__module__ = 'rdflib.plugins.serializers.xmlwriter'
__weakref__

list of weak references to the object (if defined)

attribute(uri, value)[source]
Parameters:
  • uri (str) –

  • value (str) –

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 (Optional[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