2

新しいアイテムを DSpace に送信する際、metadatavalue テーブルの text_lang 列に矛盾があることを発見しました。

新しい提出物を作成し、アイテム提出画面のすべてのフィールドに値を入力しました。提出が完了すると、次の結果になりました。

  • ほとんどのエントリの text_lang は「en」でした
  • dc.date.* エントリに null の text_lang がありました (これは、ユーザー生成およびシステム生成の日付に適用されます)
  • ほとんどの dc.identifer.* エントリの text_lang が null でした
  • dc.identifier.bibliographicCitation の text_lang は「en」でした
  • dc.relation.ispartofseries の text_lang が null でした
  • dc.relation.uri には text_lang "en" があります

新しいアイテムの作成時に text_lang 列がどのように設定されるかを制御するアイテム送信ワークフローの 1 つにプロパティはありますか?

4

1 に答える 1

3

テリー、

魔法属性はありません。この DCValue/MetadataValue 属性は、異なる DSpace アプリケーション (SWORD、LNI、XMLUI、JSPUI、CLI) で異なる方法で設定されていることがわかります。

アプリケーションコードが言語を設定するケースごとに、DSpace Item クラスには、メタデータ値の入力を担当するメソッドがいくつかあります。探しているケースを見つけるには、これらの組織のアプリケーションの使用法を深く掘り下げる必要があります。 dspace.content.Item.java メソッド:

https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L608 https://github.com/DSpace/DSpace /blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L631 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/ src/main/java/org/dspace/content/Item.java#L660 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content /Item.java#L706 https://github.com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L800 https://github .com/DSpace/DSpace/blob/dspace-4.2/dspace-api/src/main/java/org/dspace/content/Item.java#L832

これは、DSpace で大幅な改善が行われる可能性のある領域です。例に追加すると、DSpace には「*」が lang フィールドに配置されている場所もありますが、これも正しくありません。

理想的には、DSpace MetadataValue は、この属性に何らかの検証/制御を配置して、正しい値が入力されていることを保証する必要があります。

よろしく、マーク

于 2014-12-03T20:01:45.090 に答える