UCLALibrary / sinai_metadata

1 stars 3 forks source link

Define the list of feature fields and value constraints for each feature field #46

Open wlpotter opened 2 years ago

wlpotter commented 2 years ago

We are currently planning to include several places where feature information may be entered. For example, we could include a feature field both under the 'decorations' object array and under the paratext object array (e.g., for dated colophons).

We need first a list of all the data field locations where we will allow users to specify features. We will then revise this list of fields. Then, we can decide for each what individual value constraints -- so that one cannot, for instance, call a paratext 'decoration, anthropomorphic' as we have a separate field for decorations/ornamentations. This process will likely be iterative.

Note that in serialization for SMDL frontend and data sharing we will collapse this list into an overall features list for manuscript records. However, dividing the features into separate fields allows the more granular querying we want from the SDP.

Note also that the list of fields and their values is subject to our revisions to the overall list of available features, which is still in progress.

wlpotter commented 2 years ago

Current features fields:

N.b., I am referring to field locations via JSONPath

MS Object

As of https://github.com/UCLALibrary/sinai_metadata/commit/6e7a2a8035448d69d460a4083d47379aa524c191

Codicological Units

As of https://github.com/UCLALibrary/sinai_metadata/commit/cebf5d940c5d9118d3f23f22fb7331f2c3fa84af

Textual Artifact

As of https://github.com/UCLALibrary/sinai_metadata/commit/c6061134d40e5cd8dc39eadaaa82c163fe93575a


Potential additions

wlpotter commented 2 years ago

A few thoughts from this:

  1. As with notes, this work turned up a lot of similarities across object types. This is not surprising, but we should start to think about what data can appear anywhere and what needs to be restricted to specific object types.
  2. Now that we are going to have several controlled vocabularies, I wonder if 'feature' is too general? I think we, on the one hand, want to have a way to serialize out a list of facets for SMDL browse and search. These we can keep calling features. At the same time, I wonder if all of them have to be called features in the data portal? If we are getting more granular with our lists, then couldn't we also get more granular with our terminology? So we can define 'decoration/ornamentation features' separately from 'paratext types', and so forth. This might be the work to do instead of/in parallel with the work of defining the value constraints: what are the broad categories of features that we have? (This can also be extensible, e.g. we can define 'binding features' at a later point).