---
title: Overview
url: https://docs.triply.cc/triply-etl/extract/
description: The Extract step turns source data into a stream of Records, and is where every TriplyETL
  pipeline begins.
---

# Extract

The TriplyETL **Extract** step is the first step in any TriplyETL pipeline. It is indicated by the highlighted arrow in the following diagram:

```mermaid
graph LR
  sources == 1. Extract ==> record
  record -- 2. Transform --> record
  record -- 3. Assert --> ld
  ld -- 4. Enrich --> ld
  ld -- 5. Validate --> ld
  ld -- 6. Publish --> destinations

  destinations[("D. Destinations\n(TriplyDB)")]
  ld[C. Internal Store]
  record[B. Record]
  sources[A. Data Sources]
```

In the Extract step, one or more extractors are used to create a stream of [records](https://docs.triply.cc/triply-etl/generic/record/) from a [data source](https://docs.triply.cc/triply-etl/sources/). The basic structure of every record in is the same: it does not matter which extractor or which source is used.

The following extractors are currently supported:

- [CSV](https://docs.triply.cc/triply-etl/extract/csv/) or Comma-Separated Values
- [JSON](https://docs.triply.cc/triply-etl/extract/json/) or JavaScript Object Notation
- [OAI-PMH](https://docs.triply.cc/triply-etl/extract/oai-pmh/) or Open Archives Initiative Protocol for Metadata Harvesting
- [Postgres](https://docs.triply.cc/triply-etl/extract/postgres/) for PostgreSQL Query & Postgres API Options
- [RDF](https://docs.triply.cc/triply-etl/extract/rdf/) for Resource Description Format
- [Shapefile](https://docs.triply.cc/triply-etl/extract/shapefile/) for ESRI Shapefiles
- [TSV](https://docs.triply.cc/triply-etl/extract/tsv/) for Tab-Separated Values
- [XLSX](https://docs.triply.cc/triply-etl/extract/xlsx/) for Microsoft Excel
- [XML](https://docs.triply.cc/triply-etl/extract/xml/) for XML Markup Language



## Next steps

The Extract step results in a stream of [records](https://docs.triply.cc/triply-etl/generic/record/) that can be processed in the following steps:

- Step 2. [**Transform**](https://docs.triply.cc/triply-etl/transform/): cleans, combines, and extends data in the[record.
- Step 3. [**Assert**](https://docs.triply.cc/triply-etl/assert/): uses data from the record to make linked data assertions in the internal store.
