trompamusic/ce-api

Make some fields optional

Closed this issue · 2 comments

From our discussion on modelling during the Amsterdam meeting we decided to make the subject field optional, like we did with description (#53)

In discussion with @musicog we have two more proposals for optional fields:

language: In the guidelines, this should be the language of the metadata. In some cases we know this: https://musicbrainz.org/work/14514e77-f06c-4d24-a4d5-9a5962acae64
Das Lied von der Erde -> de, The Song of the Earth -> en, however the language field isn't required in MusicBrainz, which means that there may be items which we need which have no language. It doesn't make sense to set these to 'en' or some other dummy information, because that would be incorrect, and could result in strange search results. We suggest making it optional but strongly recommended.

Related: @musicog suggests that we use schema:language instead of dc:language for this field (we already use schema:inLanguage, so it makes sense to use schema.org for both of our related language fields) schema:Language isn't a predicate, so doesn't fit this usecase. Keep using dc:language

name: Some times we may want to load a node with minimal information, just to keep a record of its identifier. For example, both musicbrainz and imslp link to viaf and isni: http://www.isni.org/0000000121358915
In this case it'd be great to be able to import this node and link it to both of these sources, so that if we want to add some other source which also has these identifiers (we can use these nodes as a way of finding matches). However, some of these services don't have a clear name. (they all have a title in the html page, which we can use). We suggest that name become optional so that we can import these additional sources.

@ChristiaanScheermeijer if you're OK with these changes, I'll make them this week. We need the changes to finish data import before you start your next sprint.