/
654.txt
153 lines (111 loc) · 8.56 KB
/
654.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
[32] [[XML Schema]] では、[[文字列]]に対する制約とそれによって表される値、
それに対する[[演算]]などにより構成されるものを[DFN[[RUBYB[[[データ型]]]@en[datatype]]]]と呼んでいます。
* 仕様書
[REFS[
- [33] '''[CITE@EN[W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes]] ([TIME[2012-04-04 21:34:51 +09:00]] 版) <http://www.w3.org/TR/xmlschema11-2/#datatype>'''
-- [4] [CITE@EN[W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes]]
( ([TIME[2012-04-05 06:34:51 +09:00]] 版))
<http://www.w3.org/TR/2012/REC-xmlschema11-2-20120405/#datatype>
- [8] [CITE@en[RDF 1.1 Concepts and Abstract Syntax]]
( ([TIME[2014-04-26 05:40:41 +09:00]] 版))
<https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#h3_section-Graph-Literal>
- [12] [CITE@en[RDF 1.1 Concepts and Abstract Syntax]] ([TIME[2014-04-27 06:23:59 +09:00]] 版) <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#h2_section-Datatypes>
- [23] [CITE@en[RDF 1.1 Concepts and Abstract Syntax]] ([TIME[2014-04-27 12:49:42 +09:00]] 版) <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#h3_datatype-iris>
- [36] [CITE@EN[R2RML: RDB to RDF Mapping Language]] ([TIME[2012-09-27 00:23:35 +09:00]] 版) <https://www.w3.org/TR/2012/REC-r2rml-20120927/#datatype-conversions>
]REFS]
[31] [[XML Schema]] には1.0と1.1があり、それぞれの仕様書にもいくつかの版があります。
詳しくは [[XML Schema]] の項を参照してください。
* データ型 (XML Schema)
[1] [[XMLSchema]] では、[DFN[[RUBYB[データ型] [datatype]]]]は次の3つから構成されます:
: [[値空間]] (value space) : 互いに異なる値の集合
: [[字句空間]] (lexical space) : 字句表現の集合
: 面相 ([[facet]]) : 値空間, 個々の値又は字句項目を特徴付ける特性
[21] [[XML Schema]] 仕様書はいくつか組み込みのデータ型を定義しています。 ([[XML Schema組み込み型]]を参照。)
その他に [[XML Schema]] を使って独自の[[データ型]]を定義することができます。
* 文脈
[19] [[XML Schema]] の[[データ型]]は、 [[XML Schema]] に限らず色々な技術で採用されています。
[FIG(middle list)[ [34] [[XML Schemaデータ型]]の採用例
- [[XML Schema]] [[スキーマ言語]]
- [[RELAX NG]]
- [[DT4DTD]]
- [[データ型・名前空間対応DTD]]
- [[WSDL]]
- [[XDM一族]]
- [[XForms]]
- [[RDF]]
- [[RIF]]
- [[Model for Tabular Data and Metadata on the Web]]
- [[WebDAVデータ型]]
]FIG]
;; [22] このように [[W3C]] が力を入れている仕様では採用されているようですが、
それ以外の世界ではなかなか採用されないようです。 [[Webブラウザー]]で実装されている技術にも採用されていません。
* データ型 (RDF)
[13] [DFN[[RUBYB[[[データ型]]]@en[datatype]]]]は、[[字句空間]]、[[値空間]]、
[[字句から値への写像]]によって構成され、1つ以上の [[IRI]] によって表されます [SRC[>>12]]。
[14] この定義は [[XML Schema]] と互換性があり [SRC[>>12]]、多くの [[XML Schema]]
[[データ型]]を [[RDF]] でも採用しています。しかし、 [[XML Schema]] によって定義されているものでなくても、
この定義に従っていれば、用いることができます [SRC[>>12]]。
[9] [[RDFリテラル]]は、[[字句形]]、[[データ型IRI]]、[[言語タグ]]で構成されます [SRC[>>8]]。
;; [10] 詳しくは [[RDFリテラル]]の項を参照。
[11] [DFN[[RUBYB[[[データ型IRI]]]@en[datatype IRI]]]]は、[[字句形]]の解釈を決める [[IRI]] です。
[[言語タグ付き文字列]]以外では、これが[[データ型]]を表す [[IRI]] のいずれかです。
[20] [[言語タグ付き文字列]]は[[データ型IRI]] [CODE(URI)@en[[[http://www.w3.org/1999/02/22-rdf-syntax-ns#langString]]]]
によって表されますが、これは >>13 の定義に沿っておらず、[[データ型]]ではない [SRC[>>12]]
とされています。 ([[字句空間]]中に[[言語タグ]]が含まれていません。)
[24] ある [[IRI]] が[[データ型]]を参照するのに使うものであるとき、
これを[DFN[[RUBYB[認識されるデータ型IRI]@en[recognized datatype IRI]]]]といいます。 [SRC[>>23]]
;; [27] >>24 の定義だけ読むとそのような固定された [[IRI]] の集合がありそうですが、
以降のような規定から推測すると実装依存の集合のようです。
[25] [[認識されるデータ型IRI]]の [[referent]] は固定されています。 [CODE(URI)@en[[[http://www.w3.org/2001/XMLSchema#]]]]
から始まる [[IRI]] が認識される場合には、[[RDF互換XSD型]]を指すものでなければ[['''なりません''']]。 [SRC[>>23]]
[26] [[RDF処理器]]は[[データ型IRI]]を認識し[['''なければならない''']]わけではありません。
認識できない[[データ型IRI]]は、未知の [[IRI]] として扱います。 [[IRI]]
の [[referent]] が決定できないときには警告を出しても[['''構いません''']]が、
構文的あるいは意味的な誤りとして拒絶する[['''べきではありません''']]。 [SRC[>>23]]
;; [28] ということは [CODE[[[xs:string]]]] も認識しなくても良いということでしょうか。
(それがどのような実装なのかはわかりませんが・・・。)
[29] [[データ型]]に対する[[著者]]の適合性は、少なくても [[RDF 1.1]] や [[RDF/XML]]
は言及していません。[[字句形]]が[[データ型]]の定義に沿っていないことを ill-typed
と呼んでおり、[[リテラル値]]は存在しません。その場合でも実装は[[RDF三項組]]を生成しなければならないとされていますが、
[[著者]]がそのような[[三項組]]を生成することが認められているともいないとも言及されていません。
;; [30] ということは適合性には影響しないのでしょうか。
* 演算
[35] [[XML Schema]] 自体は構文の制約と構文と値の対応関係しか規定していませんが、
[[XDM一族]]によりデータ型に属する値同士の[[演算]]が規定されています。
[37] [[R2RML]] は [[SQL]] の[[データ型]]の値から [[RDF]] の [[XML Schemaデータ型]]の値への変換方法を定めています
[SRC[>>36]]。
* データ型の一覧
[SEE[ 日時関係のものは[[XML Schema暦]] ]]
* 歴史
[15] [[XHTML2]] 第6次案で [[RDFa]] の一部として[[大域属性]] [CODE(HTMLa)@en[[[datatype]]]]
が追加されました。
[REFS[
- [16] [CITE@en[- XHTML Metainformation Attributes Module]] ([TIME[2004-07-22 23:25:19 +09:00]] 版) <http://www.w3.org/TR/2004/WD-xhtml2-20040722/mod-metaAttributes.html#adef_metaAttributes_datatype>
]REFS]
[6] [CITE@en[XHTML+RDFa 1.1 - Second Edition]]
( ([TIME[2013-08-15 17:11:45 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-xhtml-rdfa-20130822/#A_datatype>
[7] [CITE@en[HTML+RDFa 1.1]]
( ([TIME[2013-08-20 15:49:04 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-html-rdfa-20130822/#extensions-to-the-html5-syntax>
[2] [CITE@en[RDFa Core 1.1 - Second Edition]]
( ([TIME[2013-08-15 17:12:47 +09:00]] 版))
<http://www.w3.org/TR/rdfa-core/#A-datatype>
[3] [CITE@en[RDFa Core 1.1 - Second Edition]]
( ([TIME[2013-08-15 17:12:47 +09:00]] 版))
<http://www.w3.org/TR/rdfa-core/#h4_use-of-curies-in-specific-attributes>
[4] [CITE@en[RDF Schema 1.1]]
( ([TIME[2014-02-27 21:42:23 +09:00]] 版))
<https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-schema/index.html#h3_ch_datatype>
[5] [CITE@en[RDF 1.1 Concepts and Abstract Syntax]] ([TIME[2014-04-26 06:06:16 +09:00]] 版) <https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#dfn-datatype-iri>
[17] [CITE[OASIS Open Document Format for Office Applications (OpenDocument) Version 1.2 - Part 1: OpenDocument Schema]]
([TIME[2011-09-29 13:00:00 +09:00]] 版)
<http://docs.oasis-open.org/office/v1.2/os/OpenDocument-v1.2-os-part1.html#a19_907xhtml_datatype>
[FIG(quote)[
[FIGCAPTION[
[18] [CITE@en[Generating JSON from Tabular Data on the Web]]
([TIME[2015-12-03 20:04:11 +09:00]] 版)
<http://www.w3.org/TR/2015/REC-csv2json-20151217/#h-datatypes>
]FIGCAPTION]
> Cell values are expressed in the JSON output according to the cell value's datatype. The relationship between the base annotation value of the cell value's datatype and the primitive types supported by JSON (as specified in '''['''RFC7159''']''') is provided below:
]FIG]