Skip to content

Commit 15ac8d0

Browse files
authored
Merge pull request #64 from w3c/rdf-xsd.ttl
Add canonical Turtle for RDF-recognized XSD datatypes (`ns/rdf-xsd.ttl`)
2 parents 5d94e24 + 49346a2 commit 15ac8d0

File tree

1 file changed

+228
-0
lines changed

1 file changed

+228
-0
lines changed

ns/rdf-xsd.ttl

Lines changed: 228 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,228 @@
1+
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
2+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
3+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
4+
@prefix owl: <http://www.w3.org/2002/07/owl#> .
5+
@prefix dc: <http://purl.org/dc/elements/1.1/> .
6+
7+
<http://www.w3.org/2001/XMLSchema#> a owl:Ontology ;
8+
dc:title "RDF XSD datatypes" ;
9+
dc:date "2025-09-08" ;
10+
dc:description "This file is a description of the XML Schema datatypes used in RDF" .
11+
12+
xsd:string a rdfs:Datatype ;
13+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#string> ;
14+
rdfs:label "string" ;
15+
rdfs:comment "Character strings. Value space: finite-length sequences of Unicode characters. Lexical form: any finite-length sequence of XML characters matching the XML Char production (i.e., any Unicode scalar value allowed by XML)." .
16+
17+
xsd:boolean a rdfs:Datatype ;
18+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#boolean> ;
19+
rdfs:label "boolean" ;
20+
rdfs:comment "Two-valued logic. Lexical forms: 'true', 'false', '1', '0'. Value space: {true, false}." .
21+
22+
xsd:decimal a rdfs:Datatype ;
23+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#decimal> ;
24+
rdfs:label "decimal" ;
25+
rdfs:comment "Arbitrary-precision decimal numbers. Value space: numbers of the form i/10^n with i and n integers (n ≥ 0). No special values (INF/NaN) and no exponential notation in lexical form. Lexical form: an optional leading sign followed by digits, with an optional fractional part using '.' as the decimal separator; no exponent is permitted (e.g., '-1.23', '210', '+100000.00')." .
26+
27+
xsd:integer a rdfs:Datatype ;
28+
rdfs:subClassOf xsd:decimal ;
29+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#integer> ;
30+
rdfs:label "integer" ;
31+
rdfs:comment "Signed integers of arbitrary size. Derived from xsd:decimal with fractionDigits=0. Lexical form: optional leading sign followed by one or more decimal digits; no decimal point or exponent (e.g., '-1', '0', '+100000')." .
32+
33+
xsd:double a rdfs:Datatype ;
34+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#double> ;
35+
rdfs:label "double" ;
36+
rdfs:comment "IEEE 754 64-bit floating-point. Lexical forms use decimal or scientific notation with optional leading sign and exponent; special tokens 'INF', '+INF', '-INF', and 'NaN' are permitted; '+0' and '-0' are distinct lexical forms. Mapping from lexical forms to values is specific to this datatype and its precision. Lexical form (regex-style): (\\+|-)?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([Ee](\\+|-)?[0-9]+)? |(\\+|-)?INF|NaN." .
37+
38+
xsd:float a rdfs:Datatype ;
39+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#float> ;
40+
rdfs:label "float" ;
41+
rdfs:comment "IEEE 754 32-bit floating-point. Lexical forms use decimal or scientific notation with optional leading sign and exponent; special tokens 'INF', '+INF', '-INF', and 'NaN' are permitted; '+0' and '-0' are distinct lexical forms. Mapping from lexical forms to values is specific to this datatype and its precision. Lexical form (regex-style): (\\+|-)?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([Ee](\\+|-)?[0-9]+)? |(\\+|-)?INF|NaN." .
42+
43+
xsd:date a rdfs:Datatype ;
44+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#date> ;
45+
rdfs:label "date" ;
46+
rdfs:comment "Calendar dates as top-open day intervals. Lexical form: YYYY-MM-DD with optional timezone. Timezone lexical forms: 'Z' or an offset of the form ±hh:mm with 00 ≤ mm ≤ 59 and |offset| ≤ 14:00 (e.g., '2025-09-27Z', '2025-09-27+02:00')." .
47+
48+
xsd:time a rdfs:Datatype ;
49+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#time> ;
50+
rdfs:label "time" ;
51+
rdfs:comment "Times that recur each day or occur on some day. Lexical form: hh:mm:ss(.s+)? with optional timezone. Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00 (e.g., '23:59:59Z', '08:15:30.5-05:00')." .
52+
53+
xsd:dateTime a rdfs:Datatype ;
54+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#dateTime> ;
55+
rdfs:label "dateTime" ;
56+
rdfs:comment "Instants of time, optionally with timezone. Lexical form: YYYY-MM-DDThh:mm:ss(.s+)? with optional timezone. Values with different explicit offsets can be equal as instants. Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00 (e.g., '2025-09-27T14:03:00+02:00')." .
57+
58+
xsd:dateTimeStamp a rdfs:Datatype ;
59+
rdfs:subClassOf xsd:dateTime ;
60+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#dateTimeStamp> ;
61+
rdfs:label "dateTimeStamp" ;
62+
rdfs:comment "dateTime with a required explicit timezone offset. Lexical form: YYYY-MM-DDThh:mm:ss(.s+)?(Z|±hh:mm); the timezone offset is mandatory." .
63+
64+
xsd:gYear a rdfs:Datatype ;
65+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#gYear> ;
66+
rdfs:label "gYear" ;
67+
rdfs:comment "Gregorian year. Lexical form: CCYY (optionally with a leading '-' for years BCE and optional timezone). Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00; years are matched by -?([1-9][0-9]{3,}|0[0-9]{3})." .
68+
69+
xsd:gMonth a rdfs:Datatype ;
70+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#gMonth> ;
71+
rdfs:label "gMonth" ;
72+
rdfs:comment "Gregorian month recurring each year. Lexical form: --MM with optional timezone. Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00 (e.g., '--02Z', '--11+05:30')." .
73+
74+
xsd:gDay a rdfs:Datatype ;
75+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#gDay> ;
76+
rdfs:label "gDay" ;
77+
rdfs:comment "Day in a month recurring each month. Lexical form: ---DD with optional timezone. Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00 (e.g., '---05Z', '---31-03:00')." .
78+
79+
xsd:gYearMonth a rdfs:Datatype ;
80+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#gYearMonth> ;
81+
rdfs:label "gYearMonth" ;
82+
rdfs:comment "Gregorian year and month. Lexical form: CCYY-MM with optional timezone. Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00 (e.g., '2025-09Z', '1999-12+01:00')." .
83+
84+
xsd:gMonthDay a rdfs:Datatype ;
85+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#gMonthDay> ;
86+
rdfs:label "gMonthDay" ;
87+
rdfs:comment "Month and day recurring each year. Lexical form: --MM-DD with optional timezone. Timezone lexical forms: 'Z' or ±hh:mm with |offset| ≤ 14:00 (e.g., '--12-31Z', '--02-29+09:00')." .
88+
89+
xsd:duration a rdfs:Datatype ;
90+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#duration> ;
91+
rdfs:label "duration" ;
92+
rdfs:comment "Time durations per ISO 8601 (PnYnMnDTnHnMnS), optionally with a leading '-'. Value space pairs a months component and a seconds component; only a partial order is defined. Lexical form: 'P' followed by year/month/day and optionally 'T' followed by hour/minute/second fragments; at least one component must be present; a fractional part is allowed on seconds only (e.g., 'P3Y6M4DT12H30M5.5S', '-P15D')." .
93+
94+
xsd:yearMonthDuration a rdfs:Datatype ;
95+
rdfs:subClassOf xsd:duration ;
96+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#yearMonthDuration> ;
97+
rdfs:label "yearMonthDuration" ;
98+
rdfs:comment "Duration restricted to year and month fields (seconds component is 0). Totally ordered; lexical form uses PnYnM with optional leading '-' (e.g., 'P2Y', 'P3M', '-P1Y2M')." .
99+
100+
xsd:dayTimeDuration a rdfs:Datatype ;
101+
rdfs:subClassOf xsd:duration ;
102+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#dayTimeDuration> ;
103+
rdfs:label "dayTimeDuration" ;
104+
rdfs:comment "Duration restricted to day, hour, minute, second fields (months component is 0). Totally ordered; lexical form 'PnDTnHnMnS' with optional leading '-' and optional fractional seconds (e.g., 'P30D', 'PT12H30M', 'PT5.25S', '-P1DT2H')." .
105+
106+
xsd:byte a rdfs:Datatype ;
107+
rdfs:subClassOf xsd:short ;
108+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#byte> ;
109+
rdfs:label "byte" ;
110+
rdfs:comment "8-bit signed integer. Value space: [-128 .. 127]. Lexical form: optional sign followed by one or more digits; no decimal point or exponent (e.g., '-1', '0', '+100')." .
111+
112+
xsd:short a rdfs:Datatype ;
113+
rdfs:subClassOf xsd:int ;
114+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#short> ;
115+
rdfs:label "short" ;
116+
rdfs:comment "16-bit signed integer. Value space: [-32768 .. 32767]. Lexical form: optional sign followed by one or more digits; no decimal point or exponent (e.g., '-1', '0', '+10000')." .
117+
118+
xsd:int a rdfs:Datatype ;
119+
rdfs:subClassOf xsd:long ;
120+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#int> ;
121+
rdfs:label "int" ;
122+
rdfs:comment "32-bit signed integer. Value space: [-2147483648 .. 2147483647]. Lexical form: optional sign followed by one or more digits; no decimal point or exponent (e.g., '-1', '0', '+100000')." .
123+
124+
xsd:long a rdfs:Datatype ;
125+
rdfs:subClassOf xsd:integer ;
126+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#long> ;
127+
rdfs:label "long" ;
128+
rdfs:comment "64-bit signed integer. Value space: [-9223372036854775808 .. 9223372036854775807]. Lexical form: optional sign followed by one or more digits; no decimal point or exponent." .
129+
130+
xsd:unsignedByte a rdfs:Datatype ;
131+
rdfs:subClassOf xsd:unsignedShort ;
132+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#unsignedByte> ;
133+
rdfs:label "unsignedByte" ;
134+
rdfs:comment "8-bit unsigned integer. Value space: [0 .. 255]. Lexical form: optional sign followed by digits; if a sign is present it must be '+', except that zero may be written with an optional '+' or '-' sign in XSD 1.1 lexical space." .
135+
136+
xsd:unsignedShort a rdfs:Datatype ;
137+
rdfs:subClassOf xsd:unsignedInt ;
138+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#unsignedShort> ;
139+
rdfs:label "unsignedShort" ;
140+
rdfs:comment "16-bit unsigned integer. Value space: [0 .. 65535]. Lexical form: optional sign followed by digits; if a sign is present it must be '+', except that zero may be written with an optional '+' or '-' sign in XSD 1.1 lexical space." .
141+
142+
xsd:unsignedInt a rdfs:Datatype ;
143+
rdfs:subClassOf xsd:unsignedLong ;
144+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#unsignedInt> ;
145+
rdfs:label "unsignedInt" ;
146+
rdfs:comment "32-bit unsigned integer. Value space: [0 .. 4294967295]. Lexical form: optional sign followed by digits; if a sign is present it must be '+', except that zero may be written with an optional '+' or '-' sign in XSD 1.1 lexical space." .
147+
148+
xsd:unsignedLong a rdfs:Datatype ;
149+
rdfs:subClassOf xsd:nonNegativeInteger ;
150+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#unsignedLong> ;
151+
rdfs:label "unsignedLong" ;
152+
rdfs:comment "64-bit unsigned integer. Value space: [0 .. 18446744073709551615]. Lexical form: optional sign followed by digits; if a sign is present it must be '+', except that zero may be written with an optional '+' or '-' sign in XSD 1.1 lexical space." .
153+
154+
xsd:positiveInteger a rdfs:Datatype ;
155+
rdfs:subClassOf xsd:nonNegativeInteger ;
156+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#positiveInteger> ;
157+
rdfs:label "positiveInteger" ;
158+
rdfs:comment "Integers greater than zero. Value space: {1, 2, ...}. Derived from xsd:nonNegativeInteger with minInclusive=1. Lexical form: optional '+' sign followed by one or more digits; no zero or negative forms." .
159+
160+
xsd:nonNegativeInteger a rdfs:Datatype ;
161+
rdfs:subClassOf xsd:integer ;
162+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#nonNegativeInteger> ;
163+
rdfs:label "nonNegativeInteger" ;
164+
rdfs:comment "Integers greater than or equal to zero. Value space: {0, 1, 2, ...}. Lexical form: optional sign followed by digits; if a sign is present it must be '+', except that zero may be written with an optional '+' or '-' sign." .
165+
166+
xsd:negativeInteger a rdfs:Datatype ;
167+
rdfs:subClassOf xsd:nonPositiveInteger ;
168+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#negativeInteger> ;
169+
rdfs:label "negativeInteger" ;
170+
rdfs:comment "Integers less than zero. Value space: {..., -2, -1}. Derived from xsd:nonPositiveInteger with maxInclusive=-1. Lexical form: mandatory '-' sign followed by one or more digits." .
171+
172+
xsd:nonPositiveInteger a rdfs:Datatype ;
173+
rdfs:subClassOf xsd:integer ;
174+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#nonPositiveInteger> ;
175+
rdfs:label "nonPositiveInteger" ;
176+
rdfs:comment "Integers less than or equal to zero. Value space: {..., -2, -1, 0}. Lexical form: optional sign for zero, otherwise a mandatory '-' sign followed by digits." .
177+
178+
xsd:hexBinary a rdfs:Datatype ;
179+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#hexBinary> ;
180+
rdfs:label "hexBinary" ;
181+
rdfs:comment "Arbitrary binary data encoded as pairs of hexadecimal digits; each octet is represented by two hex characters [0-9A-Fa-f]. Lexical form: an even-length sequence of hexadecimal digits; two hex digits encode each octet (e.g., '0FB7')." .
182+
183+
xsd:base64Binary a rdfs:Datatype ;
184+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#base64Binary> ;
185+
rdfs:label "base64Binary" ;
186+
rdfs:comment "Arbitrary binary data encoded using Base64. Lexical space per RFC 2045/3548; optional whitespace allowed per XML rules. Lexical form: Base64 alphabet 'A–Z', 'a–z', '0–9', '+', '/' with optional '=' padding; whitespace is collapsed during validation." .
187+
188+
xsd:anyURI a rdfs:Datatype ;
189+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#anyURI> ;
190+
rdfs:label "anyURI" ;
191+
rdfs:comment "Internationalized Resource Identifier (IRI) or IRI reference per RFC 3987. Lexical space is simply xsd:string (no fixed grammar is enforced by XSD); typical lexical forms include absolute or relative IRIs and optional fragment identifiers; processors may apply escaping/IRI-to-URI mapping." .
192+
193+
xsd:language a rdfs:Datatype ;
194+
rdfs:subClassOf xsd:token ;
195+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#language> ;
196+
rdfs:label "language" ;
197+
rdfs:comment "Natural language identifiers per BCP 47. Lexical pattern: [a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*." .
198+
199+
xsd:normalizedString a rdfs:Datatype ;
200+
rdfs:subClassOf xsd:string ;
201+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#normalizedString> ;
202+
rdfs:label "normalizedString" ;
203+
rdfs:comment "Strings with carriage return, line feed, and tab characters disallowed. Derived from xsd:string; whitespace normalized to replace those characters with spaces. Lexical form: any string not containing #xD, #xA or #x9 (per XML), i.e., with those characters replaced during normalization." .
204+
205+
xsd:token a rdfs:Datatype ;
206+
rdfs:subClassOf xsd:normalizedString ;
207+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#token> ;
208+
rdfs:label "token" ;
209+
rdfs:comment "Tokenized strings derived from xsd:normalizedString: no leading or trailing spaces and no internal sequences of multiple spaces. Lexical form: strings with whitespace collapsed (runs of spaces collapsed to a single space; leading/trailing spaces removed)." .
210+
211+
xsd:NMTOKEN a rdfs:Datatype ;
212+
rdfs:subClassOf xsd:token ;
213+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#NMTOKEN> ;
214+
rdfs:label "NMTOKEN" ;
215+
rdfs:comment "Values matching the XML Nmtoken production. Derived from xsd:token. Lexical form: one or more NameChar per XML (i.e., matches the XML Nmtoken production)." .
216+
217+
xsd:Name a rdfs:Datatype ;
218+
rdfs:subClassOf xsd:token ;
219+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#Name> ;
220+
rdfs:label "Name" ;
221+
rdfs:comment "Values matching the XML Name production. Derived from xsd:token. Lexical form: NameStartChar followed by zero or more NameChar per XML." .
222+
223+
xsd:NCName a rdfs:Datatype ;
224+
rdfs:subClassOf xsd:Name ;
225+
rdfs:isDefinedBy <https://www.w3.org/TR/xmlschema11-2/#NCName> ;
226+
rdfs:label "NCName" ;
227+
rdfs:comment "XML 'non-colonized' names matching the NCName production (i.e., Name without the colon). Derived from xsd:Name. Lexical form: XML NCName (same as Name but disallowing ':')." .
228+

0 commit comments

Comments
 (0)