Semantic Web

ttldent

Buzzword.org.uk Draft 26 May 2009

This version:
http://buzzword.org.uk/2009/ttldent/spec-20090526
Latest version:
http://buzzword.org.uk/2009/microturtle/spec
Editor:
Toby Inkster

Abstract

Microblogging is an increasingly popular form of online communication. It is characterised by very low barriers to publishing and hard limits on the character-length of each publication.

Although "hashtags" allow microbloggers to classify their messages, there is little other opportunity for embedding rich semantics in microblog posts.

This document introduces ttldent, a serialisation for RDF suitable for embedding into microblog posts.

Status of this Document

This document is published by buzzword.org.uk, a web site that hosts various specifications, articles and tools of use to web publishers. This is not a W3C recommendation. It is not even a buzzword.org.uk recommendation yet.

The author welcomes feedback on this draft by e-mail to mail@tobyinkster.co.uk.

Licence

This document is available under a licence which allows the creation of derivative works under certain conditions. For the purpose of licensing, implementations of the ideas considered in this specification shall not be considered derivative works.

Table of Contents

  1. Message Structure
  2. Body
  3. Container Formats

1. Message Structure

ttldent is not intended to be transmitted as a standalone document, but rather embedded in other formats, such as RSS or Atom. It has no Internet content type ("MIME type").

A ttldent message consists of a header, followed by one or more white space chatacters, the string #ttl, one or more whitespace characters, and lastly the body. Other than context, the existence of the string #ttl surrounded by whitespace characters is the only way of "sniffing" ttldent.

The header is a free-form text string, usually intended as a description of the rest of the message. It may be omitted, in which case, the whitespace following it can also be omitted.

The body is a variation of Turtle, described in greater detail below.

ttldent messages which are 140 characters or less (which, because of Unicode, may be more than 140 bytes) are referred to as ttldent.strict.

2. Body

ttldent is identical to Turtle with the following exceptions:

2.1. Prefixes

bio
http://purl.org/vocab/bio/0.1/
cc
http://creativecommons.org/ns#
ccold
http://web.resource.org/cc/
ccrel
http://creativecommons.org/ns#
An alias for cc.
dc
http://purl.org/dc/terms/
dc11
http://purl.org/dc/elements/1.1/
dcterms
http://purl.org/dc/terms/
An alias for dc.
doac
http://ramonantonio.net/doac/0.1/#
doap
http://usefulinc.com/ns/doap#
foaf
http://xmlns.com/foaf/0.1/
geo
http://www.w3.org/2003/01/geo/wgs84_pos#
ical
http://www.w3.org/2002/12/cal/icaltzd#
lac
http://laconi.ca/ont/
like
http://ontologi.es/like#
log
http://www.w3.org/2000/10/swap/log#
mo
http://purl.org/ontology/mo/
owl
http://www.w3.org/2002/07/owl#
rdf
http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfg
http://www.w3.org/2004/03/trix/rdfg-1/
rdfs
http://www.w3.org/2000/01/rdf-schema#
rel
http://purl.org/vocab/relationship/
rev
http://purl.org/stuff/rev#
rss
http://purl.org/rss/1.0/
sioc
http://rdfs.org/sioc/ns#
skos
http://www.w3.org/2004/02/skos/core#
tags
http://www.holygoat.co.uk/owl/redwood/0.1/tags/
vcard
http://www.w3.org/2006/vcard/ns#
wot
http://xmlns.com/wot/0.1/
xfn
http://vocab.sindice.com/xfn#
xhv
http://www.w3.org/1999/xhtml/vocab#
xsd
http://www.w3.org/2001/XMLSchema#

2.2. Keywords

a
rdf:type
=
owl:sameAs
like:likes

3. Container Formats

3.1. RSS 1.0 à la laconi.ca

A standard RDF/XML file using the RSS 1.0 vocabulary. Each feed <item> is potentially a ttldent.strict graph. The <link> specifies the base URL for the graph. The <title> is parsed for ttldent.

An example:

<item rdf:about="http://example.com/notice/12345">
	<title>alice: Wow! Great band! #ttl #music &lt;#me&gt; ❤ [ foaf:homepage &lt;http://www.theholdsteady.com/&gt; #altrock ] .</title>
	<link>http://example.com/notice/12345</link>
	<!-- ... -->
</item>

Which might generate the following RDF:

@prefix foaf : <http://xmlns.com/foaf/0.1/> .
@prefix like : <http://ontologi.es/like#> .
@prefix rdfg : <http://www.w3.org/2004/03/trix/rdfg-1/> .
@prefix tags : <http://www.holygoat.co.uk/owl/redwood/0.1/tags/> .

<>
	a rdfg:Graph ;
	tags:taggedWithTag
		[
		tags:name "music" ;
		foaf:homepage <http://example.com/tag/music>
		] .

<http://example.com/alice#me>
	like:likes
		[
		foaf:homepage <http://www.theholdsteady.com/> ;
		tags:taggedWithTag
			[
			tags:name "altrock" ;
			foaf:homepage <http://example.com/tag/altrock>
			]
		] .

(As the RDF representation of hashtags is implementation-specific, other interpretations are possible.)