MutopiaProject / MutopiaWeb

MutopiaProject site evolution to HTML5
3 stars 7 forks source link

Integrate authority control data #95

Open rettinghaus opened 6 years ago

rettinghaus commented 6 years ago

It would be great to have authority control data integrated into Mutopia. Preferably use IDs from https://VIAF.org or WikiData (and add them to composers.dat).

Thus a BEACON file could be generated by script: http://www.andreas-praefcke.de/temp/BEACON-PND-Mutopia.txt

glenl commented 6 years ago

[After a brief excursion to VIAF.org and the German National Library ...] This seems a useful and interesting thing to do. I may not be understanding this fully:

The beacon file you built is unique to the DNB, right? That is, the ID is a reference to a record in DNB and not, for example, the Library and Archives in Canada. To find the id for TarregaF you needed to search the DNB and provide to your script the association of the id to the mutopia composer page.

I noticed that there is a path from the DNB record back to the VIAF "cluster". The DNB authority source record was much more readable than, for example, the U.S. Library of Congress. Since there is a clear path back to the cluster, hence a path to other authority sources, is it useful to generate more than one beacon file?

While, the composers.dat file rarely changes, its current format is presumed in several scripts. It would be an easier matter to implement this id-composer association in a separate file that could be used by a script or, really, just provide the beacon file itself.

I found a format spec here: https://gbv.github.io/beaconspec/beacon.html

Need feedback from @chrissawer .

rettinghaus commented 6 years ago

As far as I know, the BEACON format only works with IDs from the DNB. However you could store VIAF-IDs and extract the referenced DNB-IDs from the cluster to generate the BEACON.

Perhaps it would be a good idea to switch to a schema.org based json file for the composers? Something like:

{ 
 "composer": {
      "@id": "http://d-nb.info/gnd/118514253",
      "@type": "Person",
      "alternateName": "BrahmsJ",
      "givenName": "Johannes",
      "familyName": "Brahms"
    }
}