В вычислительной технике Terse RDF Triple Language ( Turtle ) — это синтаксис и формат файла для выражения данных в модели данных Resource Description Framework (RDF). Синтаксис Turtle аналогичен SPARQL , языку запросов RDF . Это общий формат данных для хранения данных RDF, наряду с N-Triples , JSON-LD и RDF/XML .
RDF представляет информацию с помощью семантических троек , которые включают субъект, предикат и объект. Каждый элемент тройки выражается как веб- URI . Turtle предоставляет возможность группировать три URI в тройку, а также предоставляет способы сокращения такой информации, например, путем исключения общих частей URI. Например, информацию о Гекльберри Финне можно выразить так:
<http://example.org/person/Mark_Twain> <http://example.org/relation/author> <http://example.org/books/Huckleberry_Finn> .
Черепаха была определена Дэйвом Беккетом как подмножество языка Тима Бернерса-Ли и Дэна Коннолли Notation3 ( N3), а также надмножество минимального формата N-Triples . В отличие от полной версии N3, выразительная мощь которой выходит далеко за рамки RDF, Turtle может сериализовать только действительные графы RDF. Turtle — альтернатива RDF/XML , исходному синтаксису и стандарту написания RDF. В отличие от RDF/XML, Turtle не использует XML и обычно считается более читабельным и простым для редактирования вручную, чем его XML-аналог.
SPARQL , язык запросов для RDF, использует синтаксис, аналогичный Turtle, для выражения шаблонов запросов.
В 2011 году рабочая группа Консорциума Всемирной паутины (W3C) начала работу над обновленной версией RDF с намерением опубликовать ее вместе со стандартизированной версией Turtle. Эта спецификация Turtle была опубликована как рекомендация W3C 25 февраля 2014 года. [1]
Значительная часть наборов инструментов RDF включает возможности синтаксического анализа и сериализации Turtle. Некоторыми примерами таких наборов инструментов являются Redland , RDF4J , Jena , RDFLib Python и N3.js JavaScript.
В следующем примере определяются три префикса («rdf», «dc» и «ex») и используются они для выражения утверждения о редактировании документа RDF/XML:
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix например: <http://example.org/stuff/1.0/> . <http://www.w3.org/TR/rdf-syntax-grammar> dc : title «Спецификация синтаксиса RDF/XML (пересмотренная)» ; пример : редактор [ например : полное имя «Дэйв Беккет» ; пример : домашняя страница <http://purl.org/net/dajobe/> ] .
(Примеры черепах также допустимы. Notation3 ).
В примере кодируется граф RDF, состоящий из четырех троек, которые выражают следующие факты:
Вот тройки, явно выраженные в обозначениях N-Triples :
<http://www.w3.org/TR/rdf-syntax-grammar> <http://purl.org/dc/elements/1.1/title> «Спецификация синтаксиса RDF/XML (пересмотренная)» . <http://www.w3.org/TR/rdf-syntax-grammar> <http://example.org/stuff/1.0/editor> _ : bnode . _ : bnode <http://example.org/stuff/1.0/fullname> «Дэйв Беккет» . _ : bnode <http://example.org/stuff/1.0/homePage> <http://purl.org/net/dajobe/> .
MIME -тип черепахи — text/turtle
. Кодировка символов содержимого Turtle всегда UTF-8 . [2]
Синтаксис TriG RDF расширяет Turtle поддержкой именованных графов .