Turtle (syntax)

Terse RDF Triple Language
Filename extension .ttl
Internet media type text/turtle
Developed by Dave Beckett
Type of format Semantic Web
Container for RDF data
Extended from N-Triples
Standard Specification

Turtle (Terse RDF Triple Language) is a format for expressing data in the Resource Description Framework (RDF) data model with the syntax similar to SPARQL. RDF, in turn, represents information using "triples", each of which consists of a subject, a predicate, and an object. Each of those items is expressed as a Web URI.

Turtle provides a way to group three URIs to make a triple, and provides ways to abbreviate such information, for example by factoring out common portions of URIs. For example:

 <http://example.org/person/Mark_Twain>
    <http://example.org/relation/author>
    <http://example.org/books/Huckleberry_Finn> .

History

Turtle was defined by Dave Beckett as a subset of Tim Berners-Lee and Dan Connolly's Notation3 (N3) language, and a superset of the minimal N-Triples format. Unlike full N3, which has an expressive power that goes much beyond RDF, Turtle can only serialize valid RDF graphs. Turtle is an alternative to RDF/XML, the originally unique syntax and standard for writing RDF. As opposed to RDF/XML, Turtle does not rely on XML and is generally recognized as being more readable and easier to edit manually than its XML counterpart.

SPARQL, the query language for RDF, uses a syntax similar to Turtle for expressing query patterns.

In 2011, a working group of the World Wide Web Consortium (W3C) started working on an updated version of RDF, which is intended to be published along with a standardised version of Turtle. This working group published the new Turtle specification as a Last Call Working Draft on 10 July 2012.[1]

A significant proportion of RDF toolkits include Turtle parsing and serializing capability. Some examples are Redland, Sesame, Jena and RDFLib. Support for this format is likely to increase further when it becomes a W3C recommendation since it is part of W3C's process to call for implementations before ratification of the standard.

Example

The following example defines 3 prefixes ("rdf", "dc", and "ex"), and uses them in expressing a statement about the editorship of the RDF/XML document:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ex: <http://example.org/stuff/1.0/> .

<http://www.w3.org/TR/rdf-syntax-grammar>
  dc:title "RDF/XML Syntax Specification (Revised)" ;
  ex:editor [
    ex:fullname "Dave Beckett";
    ex:homePage <http://purl.org/net/dajobe/>
  ] . 

(Turtle examples are also valid Notation3).

The example encodes an RDF graph made of four triples, which express these facts:

Here are the triples made explicit in N-Triples notation:

The MIME type of Turtle is text/turtle. The character encoding of Turtle content is always UTF-8.[2]

Named Graphs

TriG RDF syntax extends Turtle with support for named graphs.

References

  1. "Turtle – Terse RDF Triple Language". World Wide Web Consortium (W3C). 10 July 2012. Retrieved 20 November 2012.
  2. "MIME Media Types: text/turtle". Internet Assigned Numbers Authority (IANA). 28 March 2011. Retrieved 27 November 2011.

External links