TEXT FORMAT
Turtle logo

Turtle

Turtle (Terse RDF Triple Language, file extension .ttl, media type text/turtle) is a compact, human-readable textual syntax for serializing RDF graphs. RDF models information as a set of subject-predicate-object triples, where subjects and predicates are IRIs and objects are IRIs, literals, or blank nodes; a Turtle document is simply a written form of such a graph. It was designed by Dave Beckett as a subset of Tim Berners-Lee and Dan Connolly's Notation3, and became a W3C Recommendation on 25 February 2014, edited by Eric Prud'hommeaux and Gavin Carothers.

Turtle's appeal is the set of abbreviations it layers over the plain triple-per-line style of N-Triples, of which it is a strict superset. The @prefix and @base directives (or the SPARQL-style PREFIX and BASE keywords) let long IRIs be written as short prefixed names like foaf:name; a semicolon repeats a shared subject across predicates, a comma repeats subject and predicate across objects, and the token a stands for rdf:type. Literals may be plain quoted strings, language-tagged strings, or datatyped values, with shorthand forms for integers, decimals, doubles and booleans. Blank nodes are written with the _:label notation or as anonymous nested property lists in square brackets, and RDF collections (linked lists) are written in parentheses that expand to rdf:first/rdf:rest chains.

Because its triple grammar is a subset of the SPARQL 1.1 query language, Turtle is closely aligned with the way queries and query results are expressed, and it serves as the canonical readable serialization across the RDF ecosystem. It is one of several interchangeable RDF syntaxes alongside RDF/XML, JSON-LD, and N-Quads; TriG extends it with named-graph support, and RDF-star adds quoted triples. OWL and RDFS ontologies (OWL) are routinely authored and stored in Turtle, and tools such as Jena/RIOT, RDFLib (Python), and dotNetRDF read and write it as a first-class format.

Turtle's limitations follow from its scope: it is a serialization only, with no inference, querying, or schema validation of its own, and unlike N3 it deliberately omits rules and formulae. Its expressiveness is exactly that of RDF triples, so anything beyond a single default graph requires TriG or a quad format. Blank node identifiers are document-local, which complicates graph comparison, diffing, and merging. Despite this, its readability and broad tooling make it the de facto format for hand-editing and sharing RDF and linked data.

Alternative Names: Terse RDF Triple Language

File Extensions: .ttl Mimetype: text/turtle vRDF 1.1
FeatureTurtle
Multiple Graphs per Document not supported
Nodes supported
Undirected Edges not supported
Directed Edges supported
Hyperedges not supported
Mixed-directionality Edges not supported
Parallel Edges supported
Self-loops supported
Edges on Edges partial
Nested Graphs in Nodes not supported
Nested Graphs in Edges not supported
Nested Graphs in Graphs not supported
Node Labels not supported
Edge Labels supported
Attributes on Nodes supported
Attributes on Edges not supported
Attributes on Graphs not supported
Typed Edges supported

Tools(Read & Write)

Read-only Tools

Write-only Tools

Frequently Asked Questions

What is a Turtle file?

A Turtle file stores a graph — its nodes, edges and attributes — in the Turtle format (also: Terse RDF Triple Language). See the feature table above for what it supports.

How do I open a Turtle file?

Open it in a graph tool that supports Turtle, or convert it to a format your tool reads. With GraphInOut you can convert Turtle to GraphML, DOT, Connected JSON and more, right in your browser.

How do I convert a Turtle file to another format?

Use the Convert from Turtle link above: upload or paste your Turtle file (input preset to Turtle), choose a target format and download the result — free, no install.