NDC-LD中間報告版について,RDFの記述とNDC第9版本表の細目表の凡例(p21からp25まで)とを関連付けて説明してみる.また,分類項目の種類とそれぞれに対応するクラス,記述項目を列挙する他,階層関係の記述方法についてもまとめてみる.なお, 本稿は公開されたデータから第三者が推測した内容であり,公式見解ではない.
細目表の凡例
分類記号
-
分類記号はskos:notationで記述する.
ndc9:007.1 skos:notation "007.1" .
-
新設項目のフラグ(プラス印)は表現されない.
分類項目名
-
分類項目名は,skos:prefLabelに言語タグ(@ja)付きで記述する.
ndc9:007.1 skos:prefLabel "情報理論"@ja .
-
複数の名辞がピリオドで区切られている場合でも,ひとつの文字列として記述する.
ndc9:007.13 skos:prefLabel "人工知能.パターン認識"@ja .
-
以下のように,名辞を分割して記述することは無い.
# 間違った例 ndc9:007.13 skos:prefLabel "人工知能"@ja . ndc9:007.13 skos:prefLabel "パターン認識"@ja .
-
分類小項目名・関連分類項目名
分類小項目名
-
分類小項目名は,分類項目名に後置しskos:prefLabelに記述する
ndc9:012.1 skos:prefLabel "建築計画:基礎調査,位置,敷地"@ja .
-
分類小項目名を持つ分類項目に対して,以下のように小項目無しの分類項目名だけを記述することは無い
# 間違った例 ndc9:012.1 skos:prefLabel "建築計画"@ja .
-
関連分類項目名
-
関連分類項目名はskos:noteに記述する
ndc9:007.64 skos:note "アルゴリズム,プログラミング言語" .
英文項目名等
-
英文項目名等は,skos:prefLabelに言語タグ(@en)付きで記述する
ndc9:007 skos:prefLabel "Information science"@en .
注記
- 注記はskos:noteに記述する
- 細分注記,限定注記,排除注記,別法注記などで記述方法が同じか否かは未調査
参照
をも見よ参照
-
「をも見よ参照」はskos:relatedで記述する
ndc9:007.1 skos:related ndc9:361.45 . ndc9:007.1 skos:related ndc9:801.2 .
を見よ参照
-
「を見よ参照」はskos:variantOfで記述する.このとき,参照元はndcv:Variantクラスのインスタンスで,参照先はskos:Conceptクラスのインスタンスである
ndc9:007.68 ndcv:variantOf ndc9:007.58 .
注参照
-
注参照は2通りの記述方法がある
-
ひとつは,skos:noteにリテラルで記述する方法
ndc9:234.7 skos:note "@オーストリア・ハンガリー帝国→234.6" .
-
もうひとつは,rdfs:seeAlsoに参照先URIを記述する方法
ndc9:234.7 rdfs:seeAlso ndc9:234.6 .
-
-
注参照は始めにskos:noteとして記述され,参照先URIを機械的に取得できた場合はskos:noteだけでなくrdfs:seeAlsoにも記述する
分類項目の種類
第1次区分の分類項目(類目)
-
1桁の分類記号を持つ項目である
-
ndcv:MainClassクラスのインスタンスとして記述する
ndc9:0 rdf:type ndcv:MainClass .
第2次区分の分類項目(綱目)
-
2桁の分類記号を持つ項目である
-
ndcv:Divisionクラスのインスタンスとして記述する
ndc9:01 rdf:type ndcv:Division .
第3次区分の通常項目,縮約項目,不均衡項目(要目)
-
3桁の分類記号を持つ項目である
-
ndcv:Sectionかつskos:Conceptクラスのインスタンスとして記述する
ndc9:010 rdf:type ndcv:Section . ndc9:010 rdf:type skos:Concept .
第4次区分以下の通常項目,縮約項目,不均衡項目(細目)
-
4桁以上の分類記号を持つ項目である
-
skos:Conceptクラスのインスタンスとして表現する
ndc9:010.1 rdf:type skos:Concept .
二者択一項目
-
ndcv:Variantクラスのインスタンスとして表現する
ndc9:007.15 rdf:type ndcv:Variant .
不使用項目
- 記述しない
- 不使用項目からの「を見よ参照」も記述しない
削除項目
- 記述しない(例:014.69)
- 削除項目からの「を見よ参照」も記述しない
範囲項目,中間見出し
-
skos:Collectionクラスのインスタンスとして記述する
ndc9:016_018 rdf:type skos:Collection .
各分類項目の記述内容
分類項目に対して記述するメタデータを,記述対象のクラス別にまとめる.前述の凡例には含まれない記述項目もある.
ndcv:sourceという記述項目を持つ分類項目もあるが,そのあたりは未調査.
第1次区分(類目)
-
クラスはndcv:MainClassである
-
類名をskos:prefLabelに言語タグ(@ja)付きで記述する
- 後述する名辞の規則にも従う
-
類名をrdfs:labelに言語タグ無しで記述する
-
類の分類記号をskos:notationで記述する
-
当該版のNDC全体を表すURIをskos:topConceptOfに記述する
- NDC9の暫定URIはhttp://id.ndl.go.jp/class/ndc9/
# 類「0」の記述例 ndc9:0 rdf:type ndcv:MainClass . ndc9:0 skos:prefLabel "総記(類目)"@ja . ndc9:0 rdfs:label "総記(類目)" . ndc9:0 skos:notation "0" . ndc9:0 skos:topConceptOf <http://id.ndl.go.jp/class/ndc9/> .
第2次区分(綱目)
-
クラスはndcv:Divisionである
-
綱名をskos:prefLabelに言語タグ(@ja)付きで記述する
- 後述する名辞の規則に従う
-
綱名をrdfs:labelに言語タグ無しで記述する
- 上位項目名の前置はしない
-
綱の分類記号をskos:notationで記述する
-
階層関係はskos:broaderまたはskos:topConceptOfで記述する
- 後述する階層関係の規則に従う
ndc9:01 rdf:type ndcv:Division . ndc9:01 skos:prefLabel "図書館.図書館学(綱目)"@ja . ndc9:01 rdfs:label "図書館.図書館学(綱目)" . ndc9:01 skos:notation "01" . ndc9:01 skos:broader ndc9:0 .
第3次区分(要目)の通常項目,縮約項目,不均衡項目
- クラスはndcv:Sectionかつskos:Conceptである
- 分類項目名をskos:prefLabelに言語タグ(@ja)付きで記述する
- 後述する名辞の規則に従う
- 分類項目名をrdfs:labelに言語タグ無しで記述する
- 分類記号をskos:notationで記述する
- 階層関係をskos:broaderで記述する
- 後述する階層関係の規則に従う
- 注記をskos:noteで記述する
- 「を見よ参照」をskos:relatedに記述する
- 当該分類項目を代表分類として持つNDLSHの件名のURIをskos:relatedMatchに記述する
第4次区分(細目)以下の通常項目,縮約項目,不均衡項目
- クラスはskos:Conceptである
- 第3次区分の項目と異なり,ndcv:Sectionを含まない
- それ以外は第3次区分の項目と同じ属性を記述する
二者択一項目
-
クラスはndcv:Variantである
-
上位項目のURIをskos:broaderで記述する
-
「を見よ参照」の参照先URIをndcv:variantOfで記述する
ndc9:007.15 rdf:type ndcv:Variant . ndc9:007.15 skos:broader ndc9:007.1 . ndc9:007.15 ndcv:variantOf ndc9:007.632 .
範囲項目,中間見出し
- クラスはskos:Collectionである
- 上位項目のURIをdct:isPartOfで記述する
- 範囲はndcv:memberRangeの先に空ノードで表現する
-
空ノードには,範囲の始点をxsd:minInclusiveで,終点をxsd:maxExclusiveで記述する
ndc9:016_018 rdf:type skos:Collection . ndc9:016_018 dct:isPartOf ndc9:01 . ndc9:016_018 ndcv:memberRange [ xsd:minInclusive 16 ; xsd:maxExclusive 18 ] .
-
名辞
(本節は書きかけである)
各分類項目はその項目を表す名辞(名前)を持つ.名辞はskos:prefLabelとrdfs:labelで記述する.
skos:prefLabel
-
分類項目名を言語タグ付きで記述する
ndc9:007.1 skos:prefLabel "情報理論"@ja .
-
複数の名辞がピリオドで区切られている場合でも,ひとつの文字列として記述する.
ndc9:007.13 skos:prefLabel "人工知能.パターン認識"@ja .
-
以下のように,名辞を分割して記述することは無い.
# 間違った例 ndc9:007.13 skos:prefLabel "人工知能"@ja . ndc9:007.13 skos:prefLabel "パターン認識"@ja .
-
-
分類小項目名は,分類項目名に後置しskos:prefLabelに記述する
ndc9:012.1 skos:prefLabel "建築計画:基礎調査,位置,敷地"@ja .
-
分類小項目名を持つ分類項目に対して,以下のように小項目無しの分類項目名だけを記述することは無い
# 間違った例 ndc9:012.1 skos:prefLabel "建築計画"@ja .
-
-
同義語,類語がある場合は,分類項目名に後置する
ndc9:007.634 skos:prefLabel "オペレーティング システム[OS]"@ja .
-
限定語がある場合は,分類項目名に後置する
ndc9:020.28 skos:prefLabel "書誌学者<列伝>" @ja .
rdfs:label
- おおむねskos:prefLabelと同じ規則で記述し,加えて以下の規則にも従う
-
言語タグは付与しない
-
一部の分類項目は,上位分類項目の項目名を前置する
ndc9:012.4 rdfs:label "建築設計・製図--書庫.書架" .
前置する条件は,公開されたデータからは読み取れない
-
階層関係
-
階層関係をskos:broaderで表現する
- 下位から上位への参照のみを記述し,上位から下位への参照は記述しない
- SPARQLで逆向きに辿ることは可能
-
記号的な上位ではなく,意味的な上位を記述する
-
第1次区分項目の上位は無い
-
ndcv:topConceptOfにndc9:を記述する
ndc9:0 skos:topConceptOf ndc9: .
-
チェックに用いたSPARQL式は以下
PREFIX ndcv: <http://purl.org/net/ns/ndcvocab#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT distinct ?s ?s2 ?type WHERE { ?s rdf:type ndcv:MainClass . ?s (skos:broader|skos:topConceptOf) ?s2 . OPTIONAL {?s2 rdf:type ?type .} } ORDER BY ?s ?s2
-
-
第2次区分項目の上位は第1次区分項目または第2次区分項目または無し
-
第2次区分の項目は,基本的に分類記号の上1桁と一致する第1次区分項目をskos:broaderに記述する
ndc9:15 skos:broader ndc9:1 .
ただし,以下の条件に一致する項目はその限りでない
-
第2次区分表で字下げされておらず,かつ分類記号の下一桁が0以外の項目は,skos:broaderを記述せず,skos:topConceptOfの値をndc9:とする
ndc9:16 skos:topConceptOf ndc9: .
-
第2次区分表で上記項目にぶら下がっている第2次区分項目は,ぶら下がる先の第2次区分項目をskos:broaderに記述し,第1次区分項目をskos:broaderに記述しない
ndc9:17 skos:broader ndc9:16 .
-
-
第2次区分表で2段階の字下げがされている第2次区分項目は,1段上の第2次区分項目をskos:broaderに記述し,第1次区分項目をskos:broaderに記述しない
ndc9:47 skos:broader ndc9:46 .
-
チェックに用いたSPARQL式は以下
PREFIX ndcv: <http://purl.org/net/ns/ndcvocab#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT distinct ?s ?s2 ?type WHERE { ?s rdf:type ndcv:Division . ?s (skos:broader|skos:topConceptOf) ?s2 . OPTIONAL {?s2 rdf:type ?type .} } ORDER BY ?s ?s2
-
-
第3次区分項目の上位は第2次区分項目または第3次区分項目
-
第3次区分表で字下げされていない第3次区分項目は,分類記号の上2桁が一致する第2次区分項目をskos:broaderに記述する
ndc9:060 skos:broader ndc9:06 . ndc9:069 skos:broader ndc9:06 .
-
第3次区分表で字下げされている第3次区分項目は,見た目の階層関係通りにskos:broaderで階層関係を表現する
ndc9:133 skos:broader ndc9:130 . ndc9:134 skos:broader ndc9:133 .
-
チェックに用いたSPARQL式は以下.101件目以降はOFFSETの値を100,200,300,…と増やして確認した
PREFIX ndcv: <http://purl.org/net/ns/ndcvocab#> PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT distinct ?s ?s2 (GROUP_CONCAT(distinct ?type ; separator = ", ") AS ?types) WHERE { ?s rdf:type ndcv:Section . ?s rdf:type skos:Concept . ?s (skos:broader|skos:topConceptOf) ?s2 . OPTIONAL {?s2 rdf:type ?type .} } GROUP BY ?s ?s2 ORDER BY ?s ?s2 OFFSET 0 LIMIT 100
-
-
第4次区分以下の項目の上位は,分類記号の下1桁を削ったもの
- 縮約項目の場合は,適切な位置まで階層を下げる
- 不均衡項目の場合は,適切な位置まで階層を上げる
その他
NDLSHとの関連付け
-
当該分類項目を代表分類として持つNDLSHの語があれば,そのURIをskos:relatedMatchに記述する
ndc9:007.6 skos:relatedMatch <http://id.ndl.go.jp/auth/ndlsh/01057776> . ndc9:007.6 skos:relatedMatch <http://id.ndl.go.jp/auth/ndlsh/00576334> . ...以下省略
相関索引との関連付け
- 各分類項目には,NDC相関索引の索引語をndcv:indexedTermに空ノードで記述する
-
空ノードには,索引語をxl:literalFormで,索引語の読みをndl:transcriptionで記述する
ndc9:007.6 ndcv:indexedTerm [ xl:literalForm "情報処理" ; ndl:transcription "ジョウホウ ショリ" ] , [ xl:literalForm "データ処理" ; ndl:transcription "データ ショリ" ] , [ xl:literalForm "リアルタイムデータ処理" ; ndl:transcription "リアルタイム データ ショリ" ] .
-
不具合
- skos:topConceptOfの値をWebブラウザ上で表示した際,表記とリンクがおかしい
- 表記が
"http://id.ndl.go.jp/class/ndc9/">ndc9:
- リンク先が
<http://id.ndl.go.jp/class/ndc9/
を参照するSPARQL DESCRIBEクエリ- 末尾の > が無い
- RDF/XMLのデータは問題ない
- 表記が