# Persistence (HowTo)

## Short Version (Best Practice)

1. **Databus URIs**: When installing a Databus, it is highly recommended to use a subdomain and create an A/AAAA record, e.g. `mydatabus.example.com` using `https`. The main rationale behind this is that application will code against the strings of the URIs, which carry the meaning and also resolve to the data. The underlying graph database will be hardcoded against the subdomain you choose initially. If you move the Databus to a different server, all you need to do is update the A/AAAA record. Patterns using paths like `https://example.com/databus/` or switching domains later are not recommended (set up and migration will be much more complex).
2. **Data**: Each dataset metadata record on the Databus contains a link (`dcat:downloadUrl`) to the actual files. This way applications that are coded against the Databus URIs can access the Databus to resolve Databus file URLs and be redirected to the download locations of the data. This already works in a way similar to DNS, purl.org, DOI, w3id.org and other redirection services. When you move the data, you simply need to update the redirects (either by reposting the records via the HTML interface, the API or by updating the redirects in the database directly). This is part of the Databus design, so that applications still can work, even if data locations change. All metadata edits are logged in the underlying git as part of the G(it|raph) Store.

## Details

### About persistence


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dbpedia.gitbook.io/databus/model/persistence-howto.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
