XSD Datatype Cheat Sheet

XSD Datatype Cheat Sheet

Every information management system needs some way to express primitive datatypes such as integers, numbers, text, dates, or times. For example, does "1" represent a number that can be added with other numbers, or simply text containing the character for the number "1"?

Since the Semantic Web is built on W3C standards, the Semantic Web uses the same familiar datatypes that the W3C built when standardizing XML.

For convenience, we have included this reference guide on XSD datatypes. Most of the descriptions are taken from the W3C authoritative standard, which can be found at http://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes

Prerequisites

In the Semantic Web, XSD datatypes are only useful in the context of working with RDF. If you haven't read them, you'll need to read RDF 101 and RDF Nuts & Bolts.

XSD Datatypes Reference

All XSD datatypes have the namespace http://www.w3.org/2001/XMLSchema#, which is typically shortened using the prefix "xsd". Often, these datatypes are represented in quotation marks followed by a type identifier as you've seen in RDF Nuts & Bolts. For example:

"42"^^xsd:int

The built-in datatypes are:

DataType

Description

Example Representation

xsd:string

A character string

Hello World

xsd:boolean

A true/false value

True

xsd:decimal

Those real numbers which can be represented decimal format

42.1

There are many built-in types which derive from xsd:decimal. These include:

xsd:integer, xsd:positiveInteger. xsd:nonPositiveInteger, xsd:negativeInteger, xsd:nonNegativeInteger, xsd:long, xsd:int, xsd:short, xsd:byte, xsd:unsignedLong, xsd:unsignedInt, xsd:unsignedShort, xsd:unsignedByte

xsd:float

Patterned after single-precision IEEE 32-bit floating point

6.0235e-23

xsd:double

Patterned after IEEE 64-bit floating point

6.0235e-23

xsd:duration

A duration of time. For example, a period of 5 years, 2 months, and 10 days.

P5Y2M10D

xsd:dateTime

A date and time together

2002-05-30T09:30:10.5

xsd:time

An instant of time that recurs every day

13:04:00

xsd:date

Intervals of exactly one day in length

1889-09-24

xsd:gYearMonth

A specific Gregorian  month in a specific Gregorian  year

1999-05

xsd:gYear

A Gregorian  calendar year

1999

xsd:gMonthDay

A Gregorian  date that recurs, specifically a day of the year such as the third of May

--05-03

xsd:gDay

A Gregorian  day that recurs, specifically a day of the month such as the 27th of the month

---27

xsd:gMonth

A Gregorian  month that recurs every year. For example, June.

--06--

xsd:hexBinary

Arbitrary hex-encoded binary data

0047dedbef

xsd:base64Binary

Arbitrary Base64-encoded binary data

VGhpcyBpcyBzb21lIHRleHQh

xsd:anyURI

A Uniform Resource Identifier Reference (URI)

http://www.cambridgesemantics.com