LoginSignup
2
3

More than 5 years have passed since last update.

NDC-LD

Last updated at Posted at 2015-09-07

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に記述する

    # 類「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のデータは問題ない
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3