En informática , Terse RDF Triple Language ( Tortuga ) es una sintaxis y un formato de archivo para expresar datos en el modelo de datos del Marco de descripción de recursos (RDF). La sintaxis de Turtle es similar a la de SPARQL , un lenguaje de consulta RDF . Es un formato de datos común para almacenar datos RDF, junto con N-Triples , JSON-LD y RDF/XML .
RDF representa información mediante tripletas semánticas , que comprenden un sujeto, un predicado y un objeto. Cada elemento del triplete se expresa como un URI web . Turtle proporciona una forma de agrupar tres URI para formar un triple y proporciona formas de abreviar dicha información, por ejemplo, factorizando partes comunes de URI. Por ejemplo, la información sobre Huckleberry Finn podría expresarse como:
<http://example.org/person/Mark_Twain> <http://ejemplo.org/relación/autor> <http://example.org/books/Huckleberry_Finn>.
Dave Beckett definió Turtle como un subconjunto del lenguaje Notation3 (N3) de Tim Berners-Lee y Dan Connolly , y un superconjunto del formato mínimo N-Triples . A diferencia del N3 completo, que tiene un poder expresivo que va mucho más allá del RDF, Turtle sólo puede serializar gráficos RDF válidos. Turtle es una alternativa a RDF/XML , la sintaxis original y el estándar para escribir RDF. A diferencia de RDF/XML, Turtle no depende de XML y generalmente se reconoce que es más legible y fácil de editar manualmente que su contraparte XML.
SPARQL , el lenguaje de consulta para RDF, utiliza una sintaxis similar a Turtle para expresar patrones de consulta.
En 2011, un grupo de trabajo del World Wide Web Consortium (W3C) comenzó a trabajar en una versión actualizada de RDF, con la intención de publicarlo junto con una versión estandarizada de Turtle. Esta especificación de Turtle se publicó como recomendación del W3C el 25 de febrero de 2014. [1]
Una proporción significativa de los kits de herramientas RDF incluyen la capacidad de serialización y análisis de Turtle. Algunos ejemplos de este tipo de kits de herramientas son Redland , RDF4J , Jena , RDFLib de Python y N3.js de JavaScript.
El siguiente ejemplo define 3 prefijos ("rdf", "dc" y "ex") y los utiliza para expresar una declaración sobre la edición del documento RDF/XML:
@prefijo rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefijo dc: <http://purl.org/dc/elements/1.1/> . @prefijo ej: <http://example.org/stuff/1.0/> . <http://www.w3.org/TR/rdf-syntax-grammar> dc : título "Especificación de sintaxis RDF/XML (revisada)" ; ex : editor [ ex : nombre completo "Dave Beckett" ; Ej : página de inicio <http://purl.org/net/dajobe/> ] .
(Los ejemplos de tortugas también son válidos en Notación3 ).
El ejemplo codifica un gráfico RDF formado por cuatro tripletas, que expresan estos hechos:
Aquí están los triples que se hacen explícitos en la notación N-Triples :
<http://www.w3.org/TR/rdf-syntax-grammar> <http://purl.org/dc/elements/1.1/title> "Especificación de sintaxis RDF/XML (revisada)" . <http://www.w3.org/TR/rdf-syntax-grammar> <http://example.org/stuff/1.0/editor> _ : bnode . _ : bnodo <http://example.org/stuff/1.0/fullname> "Dave Beckett" . _ : bnode <http://example.org/stuff/1.0/homePage> <http://purl.org/net/dajobe/> .
El tipo MIME de Turtle es text/turtle
. La codificación de caracteres del contenido de Turtle es siempre UTF-8 . [2]
La sintaxis TriG RDF amplía Turtle con soporte para gráficos con nombre .