Skip to content

Add expanded name data to JSON-LD output #5745

Description

@tpendragon

User story

In Digital Collections we'd like to be able to better identify discrete MARC relators with their transliteration. However, we don't have that data in the JSON-LD we import into Figgy - it's all grouped up together.

As a researcher or first year undergraduate who can only read one script I should be able to tell how many authors a work has at a glance, so I know what to click on to filter for more of that person's work.

We don't have support in Figgy yet for this, and wouldn't want to add it before we have data, so I'm proposing a new field in the JSON-LD so that when it comes in we can add the feature in Figgy to pull it in.

See Concrete example for details.

Acceptance criteria

  • JSON-LD for a record includes an expanded_names field

Concrete example

For https://catalog.princeton.edu/catalog/9963573093506421.jsonld there should be this field:

Notes for below:

Basically, we don't want any 880s alone queried for any fields - if it has a linkage, then associate it appropriately.

The language logic is probably the same as we do for title - if there's a linkage, assume the primary is transliterated (<lang>-Latn), if not then assume it's in the language of the cataloging identified in the leader, which I think we have indexed somewhere.

If we don't think the language is reliable (I recognize that these Islamic materials are probably some of our most reviewed and corrected records), then we'd be okay with a flat list of strings or "@language": "und".

related below is any entity that doesn't have a MARC relator.

{
  "expanded_names": {
    "author": [
      {
        "label": [
          {
            "@value": "Ṣaffūrī, ʻAlī ibn ʻAbd al-Raḥmān",
            "@language": "ar-Latn"
          },
          {
            "@value": "صفوري، علي بن عبد الرحمن",
            "@language": "ar"
          }
        ]
      }
    ],
    "scribe": [
      {
        "label": [
          {
            "@value": "ʻAlī Dhīb ibn Muḥammad",
            "@language": "ar-Latn"
          },
          {
            "@value": "علي ذيب بن محمد.",
            "@language": "ar"
          }
        ]
      }
    ],
    "donor": [
      {
        "label": [
          {
            "@value": "Garrett, Robert, 1875-1961",
            "@language": "en"
          }
        ]
      }
    ],
    "related": [
      {
        "label": [
          {
            "@value": "Princeton University. Library. Manuscript. Islamic Manuscripts, Garrett no. 250H",
            "@language": "en"
          }
        ]
      }
    ]
  }
}

Implementation notes, if any

This'll probably require indexing some sort of new JSON structure, unfortunately - but it might be useful information for the catalog display too!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

featureUpdates on existing feature or a new feature request

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions