第5章はいままでも出てきていましたが,データタイプについてです.第3章,4章の rdf:XMLLiteral です.ここで言う字句形式というのは,"15"^^xsd:decimal とか "15"^^xsd:integer みたいな文字列の並びのことで,この文字列からこの場合,数の 15 への写像を考えます.同様に XML Schema Part2: Datatypes に決められたとおりの well-formed な文字の並びである xsd:decimal や xsd:integer の集合から,それらの値の集合への写像が,L2V(xsd:decimal) とか L2V(xsd:integer) という写像というわけです.
ではデータタイプそのものの字句についてはどうでしょうか.たとえば,URI 参照 xsd:decimal からそれが意味するところの表示への写像を考えます.それを<xsd:decimal, x>みたいに表記します.色々なデータタイプについてこの写像の集合 D を考えます.それをデータタイプ写像と呼びます.したがって,
D は URI 参照からデータタイプ集合への関数とみなすことができる次に,
どのデータタイプ写像も<rdf:XMLLiteral, x>を含むというのは<xsd:decimal, x>であれば必ず<rdf:XMLLiteral, x>となる,ということですよね.私はこれらのデータタイプは rdf:XMLLiteral のサブクラスとしています.三つ組みで書けば次のようですね.
xsd:decimal rdfs:subClassOf rdf:XMLLiteral .そしてRDFSの公理トリプルでは次の記述があります.rdf:XMLLiteral rdfs:subClassOf rdfs:Literal .データタイプに対する一般的意味論条件の2番目はこうなっています.もし <aaa,x> が D の要素ならば,ICEXT(x) は x の値空間でありかつ LV の部分集合つまり,xsd:decimal のクラス外延は xsd:decimal の値空間であると.つまり "15"^^xsd:decimal の表示するものは,xsd:decimal の値空間の(集合の)元であると.LV は第4章で rdfs:Literal の表示物のクラス外延でしたね.弱い解釈では rdfs:Literal と x との関係は何とも言えませんが,強い解釈でよければ,x は rdfs:Literal (の表示物)のサブクラスとなります.すなわち,xsd:decimal も xsd:integer も(その表示物は)rdfs:Literal(の表示物)のサブクラスとなります.そして SWCLOS ではそうしています.この処置は上記のように,xsd:decimal は rdf:XMLLiteral のサブクラスとしたことと,(そして rdf:XMLLiteral は rdfs:Literal のサブクラスだから)整合しています.
そして3番目の条件,
型付きリテラル "sss"^^ddd に対して,もし sss が x の字句空間中の要素ならば,IL("sss"^^ddd)=L2V(x)(sss),さもなければ IL("sss"^^ddd) が LV の要素ではないというのは,これまでも述べてきたように,"one"^^xsd:decimal は IR 中にはあっても LV 中には無い,すなわち rdfs:Resource のインスタンスであっても rdfs:Literal のインスタンスではない,ということですね.
4番目,
もし<aaa, x>が D の要素ならば,I(aaa) は ICEXT(I(rdfs:Datatype)) の要素というのは xsd:decimal の表示物 I(xsd:decimal) は,rdfs:Datatype のクラス外延の要素(元)だと言っていますから,実は rdfs:Datatype は xsd:decimal をクラスとしたときのメタクラスに相当するのです.RDFS 公理トリプルでは次のようになっています.
rdf:XMLLiteral rdf:type rdfs:Datatype .
rdfs:Datatype rdfs:subClassOf rdfs:Class .じゃあ rdfs:Datatype のクラスは何だって? rdfs:Class に決まっているじゃあないですか.rdfs:Class はブラックホールみたいにすべてのクラスを飲み込むユニバーサルなクラスですから.これまでのところを三組みで書けば次のようになります.
最後に,"15"^^xsd:decimal rdf:type xsd:decimal .意味論条件2番目xsd:decimal rdfs:subClassOf rdf:Literal .意味論的条件2番目+強い解釈xsd:decimal rdf:type rdfs:Datatype .意味論条件4番目
もしデータタイプ写像においてデータタイプがその値空間上に互いに素(disjointness)条件を重ねるのならと言っていますが,当然xsd:floatとxsd:integerは互いに素だし,xsd:string と xsd:decimal も互いに素です.そうしないと後々困ることがいっぱい出てきます.XMLデータタイプのクラス階層構造はここにあるとおりですので,参考にしてください.
0 コメント:
コメントを投稿