Turtle (syntax)
{{Short description|Format for expressing data in the RDF data model}}
{{Use dmy dates|date=March 2014}}
{{Infobox file format
| name = Terse RDF Triple Language
| icon =
| logo =
| extension = .ttl
| mime = text/turtle
| type code =
| uniform type =
| magic =
| owner = [http://www.dajobe.org/ Dave Beckett]
| genre = Semantic Web
| latest_release_version = RDF 1.1 Turtle (REC)
| latest_release_date = 25 February 2014
| container for = RDF data
| extended from = N-Triples, Notation3
| extended to = TriG
| standard =
| standards =
| url = {{URL|https://www.w3.org/TR/turtle/}}
}}
In computing, Terse RDF Triple Language (Turtle) is a syntax and file format for expressing data in the Resource Description Framework (RDF) data model. Turtle syntax is similar to that of SPARQL, an RDF query language. It is a common data format for storing RDF data, along with N-Triples, JSON-LD and RDF/XML.
RDF represents information using semantic triples, which comprise a subject, predicate, and object. Each item in the triple 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, information about Huckleberry Finn could be expressed as:
<http://example.org/relation/author>
<http://example.org/person/Mark_Twain> .
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 original 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, with the intention of publishing it along with a standardised version of Turtle. This Turtle specification was published as a W3C Recommendation on 25 February 2014.{{cite web |url=http://www.w3.org/TR/turtle/ |title=RDF 1.1 Turtle - Terse RDF Triple LanguageTurtle |date=25 February 2014 |publisher=World Wide Web Consortium (W3C) |access-date=16 December 2015}}
A significant proportion of RDF toolkits include Turtle parsing and serializing capability. Some examples of such toolkits are Redland, RDF4J, Jena, Python's RDFLib and JavaScript's N3.js.
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:
@prefix dc:
@prefix ex:
dc:title "RDF/XML Syntax Specification (Revised)" ;
ex:editor [
ex:fullname "Dave Beckett";
ex:homePage
] .
(Turtle examples are also valid Notation3).
The example encodes an RDF graph made of four triples, which express these facts:
- The W3C technical report on RDF syntax and grammar has the title RDF/XML Syntax Specification (Revised).
- That report's editor is a certain individual, who in turn
- Has full name Dave Beckett.
- Has a home page at a certain place.
Here are the triples made explicit in N-Triples notation:
_:bnode
_:bnode
The MIME type of Turtle is text/turtle
. The character encoding of Turtle content is always UTF-8.{{cite web |url=https://www.iana.org/assignments/media-types/text/turtle |title=MIME Media Types: text/turtle |date=28 March 2011 |publisher=Internet Assigned Numbers Authority (IANA) |access-date=27 November 2011}}
Named graphs
TriG RDF syntax extends Turtle with support for named graphs.
See also
References
{{reflist}}
External links
- [http://www.w3.org/TR/turtle/ Turtle Specification]
- [https://docs.enola.dev/concepts/turtle/ Turtle TL;DR Cheatsheet on Enola.dev]
{{Semantic Web}}