RDF Syntax Examples

Posted on Aug 31, 2017 (last modified May 7, 2021)

RDF can be expressed in a variety of different serialization formats. It can also be used inline with HTML. Following is an example of the most widely used of these formats so that you can compare them at a glance.

RDF/XML

An XML-based syntax for RDF graphs that was the first standard format for serializing RDF.

<?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:gr="http://purl.org/goodrelations/v1#"> <gr:Location rdf:about="http://www.acme.com/#store"> <gr:name>Hepp's Happy Burger Restaurant</gr:name> <gr:hasOpeningHoursSpecification> <gr:OpeningHoursSpecification> <gr:opens>08:00:00</gr:opens> <gr:closes>20:00:00</gr:closes> <gr:hasOpeningHoursDayOfWeek rdf:resource="http://purl.org/goodrelations/v1#Wednesday"/> <gr:hasOpeningHoursDayOfWeek rdf:resource="http://purl.org/goodrelations/v1#Monday"/> <gr:hasOpeningHoursDayOfWeek rdf:resource="http://purl.org/goodrelations/v1#Tuesday"/> <gr:hasOpeningHoursDayOfWeek rdf:resource="http://purl.org/goodrelations/v1#Thursday"/> <gr:hasOpeningHoursDayOfWeek rdf:resource="http://purl.org/goodrelations/v1#Friday"/> </gr:OpeningHoursSpecification> </gr:hasOpeningHoursSpecification> </gr:Location> </rdf:RDF>

See also: RDF 1.1 XML Syntax

Turtle

A compact, human-friendly format.

@prefix gr: <http://purl.org/goodrelations/v1#> . <http://www.acme.com/#store> a gr:Location ; gr:name "Hepp's Happy Burger Restaurant" ; gr:hasOpeningHoursSpecification [ a gr:OpeningHoursSpecification ; gr:opens "08:00:00" ; gr:closes "20:00:00" ; gr:hasOpeningHoursDayOfWeek gr:Wednesday, gr:Monday, gr:Tuesday, gr:Thursday, gr:Friday ] .

See also: Turtle – Terse RDF Triple Language

N-Triples

A very simple, easy-to-parse, line-based format that is not as compact as Turtle.

<http://www.acme.com/#store> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/goodrelations/v1#Location> . <http://www.acme.com/#store> <http://purl.org/goodrelations/v1#hasOpeningHoursSpecification> _:b0 . <http://www.acme.com/#store> <http://purl.org/goodrelations/v1#name> "Hepp's Happy Burger Restaurant" . _:b0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://purl.org/goodrelations/v1#OpeningHoursSpecification> . _:b0 <http://purl.org/goodrelations/v1#opens> "08:00:00" . _:b0 <http://purl.org/goodrelations/v1#closes> "20:00:00" . _:b0 <http://purl.org/goodrelations/v1#hasOpeningHoursDayOfWeek> <http://purl.org/goodrelations/v1#Wednesday> . _:b0 <http://purl.org/goodrelations/v1#hasOpeningHoursDayOfWeek> <http://purl.org/goodrelations/v1#Thursday> . _:b0 <http://purl.org/goodrelations/v1#hasOpeningHoursDayOfWeek> <http://purl.org/goodrelations/v1#Friday> . _:b0 <http://purl.org/goodrelations/v1#hasOpeningHoursDayOfWeek> <http://purl.org/goodrelations/v1#Tuesday> . _:b0 <http://purl.org/goodrelations/v1#hasOpeningHoursDayOfWeek> <http://purl.org/goodrelations/v1#Monday> .

See also: RDF 1.1 N-Triples

N3 (or Notation3)

A non-standard serialization that is very similar to Turtle, but has some additional features, such as the ability to define inference rules.

@prefix gr: <http://purl.org/goodrelations/v1#> . <http://www.acme.com/#store> a gr:Location; gr:hasOpeningHoursSpecification [ a gr:OpeningHoursSpecification; gr:opens "08:00:00"; gr:closes "20:00:00"; gr:hasOpeningHoursDayOfWeek gr:Friday, gr:Monday, gr:Thursday, gr:Tuesday, gr:Wednesday ]; gr:name "Hepp's Happy Burger Restaurant" .

See also: Notation3 (N3): A readable RDF syntax

JSON-LD

a JSON-based serialization (for Linked Data).

{ "@context": { "gr": "http://purl.org/goodrelations/v1#" }, "@id": "http://www.acme.com/#store", "@type": "gr:Location", "gr:hasOpeningHoursSpecification": { "@type": "gr:OpeningHoursSpecification", "gr:closes": "20:00:00", "gr:hasOpeningHoursDayOfWeek": [ { "@id": "gr:Thursday" }, { "@id": "gr:Wednesday" }, { "@id": "gr:Friday" }, { "@id": "gr:Monday" }, { "@id": "gr:Tuesday" } ], "gr:opens": "08:00:00" }, "gr:name": "Hepp's Happy Burger Restaurant" }

See also: JSON-LD 1.0

RDFa

Not really an RDF syntax, but rather – a compatible format. “RDFa is an extension to HTML5 that helps you markup things like People, Places, Events, Recipes and Reviews. Search Engines and Web Services use this markup to generate better search listings and give you better visibility on the Web, so that people can find your website more easily.” – rdfa.info

<div xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns="http://www.w3.org/1999/xhtml" xmlns:gr="http://purl.org/goodrelations/v1#"> <div about="http://www.acme.com/#store" typeof="gr:Location"> <div rel="gr:hasOpeningHoursSpecification"> <div typeof="gr:OpeningHoursSpecification"> <div property="gr:closes" content="20:00:00"/> <div rel="gr:hasOpeningHoursDayOfWeek" resource="http://purl.org/goodrelations/v1#Thursday"/> <div rel="gr:hasOpeningHoursDayOfWeek" resource="http://purl.org/goodrelations/v1#Tuesday"/> <div rel="gr:hasOpeningHoursDayOfWeek" resource="http://purl.org/goodrelations/v1#Monday"/> <div rel="gr:hasOpeningHoursDayOfWeek" resource="http://purl.org/goodrelations/v1#Friday"/> <div rel="gr:hasOpeningHoursDayOfWeek" resource="http://purl.org/goodrelations/v1#Wednesday"/> <div property="gr:opens" content="08:00:00"/> </div> </div> <div property="gr:name" content="Hepp's Happy Burger Restaurant"/> </div> </div>

See also: RDFa

Microdata

Also not really an RDF syntax, but a compatible format. This mechanism allows machine-readable data to be embedded in HTML documents in an easy-to-write manner, with an unambiguous parsing model.

<div itemscope itemtype="http://purl.org/goodrelations/v1#Location" itemid="http://www.acme.com/#store"> <span itemprop="name">Hepp's Happy Burger Restaurant</span> <div itemprop="hasOpeningHoursSpecification" itemscope itemtype="http://purl.org/goodrelations/v1#OpeningHoursSpecification"> Opening hours: Mo-Fri, <link itemprop="hasOpeningHoursDayOfWeek" href="http://purl.org/goodrelations/v1#Monday" /> <link itemprop="hasOpeningHoursDayOfWeek" href="http://purl.org/goodrelations/v1#Tuesday" /> <link itemprop="hasOpeningHoursDayOfWeek" href="http://purl.org/goodrelations/v1#Wednesday" /> <link itemprop="hasOpeningHoursDayOfWeek" href="http://purl.org/goodrelations/v1#Thursday" /> <link itemprop="hasOpeningHoursDayOfWeek" href="http://purl.org/goodrelations/v1#Friday" /> <meta itemprop="opens" content="08:00:00">8:00 a.m. - <meta itemprop="closes" content="20:00:00">8:00 p.m. </div> </div>

See also: HTML Microdata

RDF Converter Services Online

There’s a few decent RDF converter services that you can use online: