Skip to content

# `` simple_example

Attributes:

- `donna` –
- `output_file` –
- `store` –
- `tmp_dir` –

## `` donna `module-attribute`

    donna = BNode()

## `` output_file `module-attribute`

    output_file = join(name, 'donna_foaf.rdf')

## `` store `module-attribute`

    store = Graph()

## `` tmp_dir `module-attribute`

    tmp_dir = TemporaryDirectory()

rce: false show_docstring_attributes: false show_docstring_functions: false show_docstring_modules: false show_docstring_classes: false show_signature: false show_signature_annotations: false show_signature_type_parameters: false show_docstring_other_parameters: false show_docstring_parameters: false show_docstring_raises: false show_docstring_receives: false show_docstring_returns: false summary: false show_if_no_docstring: false

    import os.path
    from tempfile import TemporaryDirectory

    from rdflib import RDF, BNode, Graph, Literal
    from rdflib.namespace import DC, FOAF

    if __name__ == "__main__":
        store = Graph()

        # Bind a few prefix, namespace pairs for pretty output
        store.bind("dc", DC)
        store.bind("foaf", FOAF)

        # Create an identifier to use as the subject for Donna.
        donna = BNode()

        # Add triples using store's add method.
        store.add((donna, RDF.type, FOAF.Person))
        store.add((donna, FOAF.nick, Literal("donna", lang="foo")))
        store.add((donna, FOAF.name, Literal("Donna Fales")))

        # Iterate over triples in store and print them out.
        print("--- printing raw triples ---")
        for s, p, o in store:
            print(s, p, o)

        # For each foaf:Person in the store print out its mbox property.
        print()
        print("--- printing mboxes ---")
        for person in store.subjects(RDF.type, FOAF["Person"]):
            for mbox in store.objects(person, FOAF["mbox"]):
                print(mbox)

        tmp_dir = TemporaryDirectory()
        output_file = os.path.join(tmp_dir.name, "donna_foaf.rdf")
        print(f"--- saving RDF to a file ({output_file}) ---")
        # Serialize the store as RDF/XML to the file donna_foaf.rdf.
        store.serialize(f"{output_file}", format="pretty-xml", max_depth=3)

        # Let's show off the serializers
        print()
        print("RDF Serializations:")

        # Serialize as Turtle (default)
        print("--- start: turtle ---")
        print(store.serialize())
        print("--- end: turtle ---\n")

        # Serialize as XML
        print("--- start: rdf-xml ---")
        print(store.serialize(format="pretty-xml"))
        print("--- end: rdf-xml ---\n")

        # Serialize as NTriples
        print("--- start: ntriples ---")
        print(store.serialize(format="nt"))
        print("--- end: ntriples ---\n")

        # Serialize as JSON-LD
        # only if you have the JSON-LD plugin installed!
        print("--- start: JSON-LD ---")
        print(store.serialize(format="json-ld"))
        print("--- end: JSON-LD ---\n")