Openlibrary: LCCをLCCクラス名に変換する方法

作成日 2020年04月23日  ·  5コメント  ·  ソース: internetarchive/openlibrary

LCCは、分類ツリーの下の〜パスとして表示できます。 これらは、ユーザーに表示したい有用な情報を提供します。 そのためには、LCCをクラスにデコードできる必要があります。 (この問題は#3290から分離されました)

解決したい問題を説明してください

プログラムで右側のデータを取得できるようにしたい:

| 本物の本からのサンプルLCC | 期待される結果|
| -| -|
| F1047 .C95 | [
(「南北アメリカの歴史」、( F ))、
( "イギリス系アメリカ人(カナダを含む)"、 (F1001、F1145.2) )、
( "英領アメリカ"、 (F1001、F1145.2) )、
( "カナダ"、 (F1001、F1145.2) )、
(「沿海州」、
( "プリンスエドワードアイランド"、 (F1046、F1049.7) )、
] |
| NC760 .B2813 2004 | [
(「視覚芸術」、 (N) )、
(「ドローイング。デザイン。イラストレーション」、 (NC) )、
(「特別科目」、 (NC760、NC825) )、
] |
| QH81 .C3525 1996 | [
(「科学」、 (Q) )、
(「博物学-生物学」、 (QH) )、
( "博物学(一般)"、 (QH1、QH278.5) )、
] |
| RF290 .E73 2009 | [
(「薬」、 (R) )、
(「耳鼻咽喉科」、 (RF) )、
(「耳科学。耳の病気」、 (RF110、RF320) )、
] |
| NB699.N4 B4 1969b | [
(「視覚芸術」、 (N) )、
( "彫刻"、 (NB) )、
( "履歴"、 (NB60、NB1115) )、
] |

その他の例については、 https://github.com/internetarchive/openlibrary/issues/3290を参照して

提案と制約

  • [] Open Libraryから人間が入力したLCCという文字列を指定して、LCCクラスのリストを返す関数が必要です
  • []各クラスには、LCCの範囲またはLCCプレフィックスのいずれかを含める必要があります(上記の例を参照)

ノート:

  • この段階では、LCCは最初の桁を超える情報(NB699.A14など)を提供しますが、最初のカッター番号(つまり、「A14」を含まない)までのLCCにクラスが与えられると、この機能は完了したと見なされます。 「NB699.A14」で)。 これは、将来の問題で実行できる拡張です。
  • オプションの拡張(この問題を閉じるために必要ではありません。将来の問題で実行できます):LCCクラス名をi18nに渡す必要があります。
  • 上記の例は、 https://www.loc.gov/catdir/cpso/lcco/を使用して生成されてい

追加のコンテキスト

  • LCCの内訳: https
  • クラッシュコースLCC: https
  • LCCの詳細な内訳: https

利害関係者

@cclauss @BrittanyBunk

Librarians @cclauss 2 Identifiers Feature Request

最も参考になるコメント

次のステップは、 @ cclaussが準備ができていると思うメソッドを@cclauss

全てのコメント5件

@cdriniLCCOとスケジュールの概要の2つの概要があります。 @cclaussはスケジュールの概要を使用していました: https//www.loc.gov/aba/cataloging/classification/ @cclaussの作業がスケジュールに基づいている場合、LCCOを使用する必要がありますか?

不完全ではありますが、スケジュールにはインデントが順方向と逆方向の両方であるサブクラスがあり、視聴者とコーダーに役立つ方法でそれを視覚化またはプログラムする方法がわかるため、LCCOの操作ははるかに簡単です。 LCCOは前方にのみインデントするため、クラスは常に次々に発生します(前後の両方ではありません)。

例としては、スケジュールで次のようになっている場合があります。
------サブクラス1
サブクラス2
------サブクラス3

それを簡単に表現するにはどうすればよいでしょうか。 できません。 ただし、LCCOは次のように見えるため、可能です。
サブクラス1
----サブクラス2
-------サブクラス3

それを表現するのは簡単です。 LCCOの唯一の問題は、クラスとサブクラスの完全なリストではなく、不完全であるということです。 スケジュールは完全なものです。

それが私の現在のジレンマであり、何かを犠牲にする必要があります。1)完全性、2)表現の正確さ。

それはあなたとあなたが選ぶ@cclauss次第です。 完全で公式であるため、スケジュールが最良の選択だと思います。情報を表す方法を常に見つけることができたのですが、不足しているものを簡単に見つけることはできません。

@cclaussはhttps://github.com/thisismattmiller/lcc-pdf-to-jsonからのダンプを使用していると

動作する複雑なシステムは、動作する単純なシステムから常に進化していることがわかります。 逆の命題も当てはまるようです。ゼロから設計された複雑なシステムは機能せず、機能させることもできません。 動作する単純なシステムから始めて、最初からやり直す必要があります。 -ジョン・ガル

@cdriniは同意しました。 さらに取り組む前に、すでに使用されているものを使ってみましょう:)そうは言っても、次は何ですか?

次のステップは、 @ cclaussが準備ができていると思うメソッドを@cclauss

このページは役に立ちましたか?
0 / 5 - 0 評価