Examples¶
Each example answers one question with a small data set, a manifest and a
script you can run. Find the question closest to yours, read its page, then run
it from its directory under
examples/ in a
clone of the repository. The repository has a Docker Compose setup under
docker/ for every database these examples use; see
docker/README.md.
Basic ingestion¶
| No. | Question | Needs to run |
|---|---|---|
| 01 | How do I ingest CSV files into a graph? | ArangoDB |
| 02 | How do I link records that refer to records of the same kind? | ArangoDB |
| 03 | How do I keep several different relations between the same two things? | ArangoDB |
| 04 | How do I turn nested JSON into a graph when the key names say what the relation is? | ArangoDB |
Pipeline features¶
| No. | Question | Needs to run |
|---|---|---|
| 05 | How do I turn price columns into measurements and skip invalid values? | ArangoDB |
| 06 | How do I ingest a row that mentions the same kind of thing in several roles? | ArangoDB |
| 07 | How do I ingest one table that holds many kinds of things? | ArangoDB |
| 08 | How do I ingest a relations table where each row names its own types? | ArangoDB |
Schema inference¶
| No. | Question | Needs to run |
|---|---|---|
| 09 | How do I get a graph from a PostgreSQL database without writing a schema? | PostgreSQL and ArangoDB |
| 10 | How do I turn an OWL ontology and RDF data into a property graph? | ArangoDB; the RDF is read from files |
Connections¶
| No. | Question | Needs to run |
|---|---|---|
| 11 | How do I keep database credentials out of the manifest? | PostgreSQL and ArangoDB |
| 12 | How do I configure several API sources from environment variables? | Environment variables only; no API or database is contacted |
Bulk load¶
| No. | Question | Needs to run |
|---|---|---|
| 13 | How do I load a large graph into an empty database? | Neo4j |
File backend¶
| No. | Question | Needs to run |
|---|---|---|
| 14 | How do I try GraFlo without a database, and export a graph to files? | Nothing to write the graph to disk; Neo4j to export from, ArangoDB to move the graph into |
Identity¶
| No. | Question | Needs to run |
|---|---|---|
| 15 | My data has no obvious key. How do I find out what identifies a record? | Nothing; the graph is written to disk |
| 16 | How do I link to a record when the source only knows its alternative identifier? | Nothing; the graph is written to disk |
| 17 | Records arrive with different identifiers filled in. How do I still get one vertex per thing? | Nothing; the graph is written to disk |
| 18 | Two systems describe the same customers. How do I find the columns that match them? | Nothing |
Evolution¶
Evolving a manifest walks through changing one manifest and recording the change; examples 19 and 22 go further, with both directions of a relation and with two histories to reconcile. Merging manifests explains the union behind examples 20 and 21.
Aspects and profiles¶
| No. | Question | Needs to run |
|---|---|---|
| 23 | How do I turn a plain schema into one that tracks state and measurements over time? | Nothing |
What to read next¶
- Quick start: example 01, step by step.
- Database connections: how to run an example against your own database instead of a container.
- Creating a manifest: the three blocks every example's manifest is made of.