I’m working on a couple enhancements to the MarcEdit Linked Data rules file to accommodate proposals being generated by the PCC regarding the usage of the $0 and the $1 in MARC21 records. Currently, MarcEdit has the ability to generate $0s for any controlled data within a MARC record, so long as a webservice for the vocabulary has been profiled in the MarcEdit rules file. This has allowed folks to begin embedding URIs into their MARC records…but one of the areas of confusion is where services like VIAF fit into this equation.
The $0, as described in MARC, should represent the control number or URI to the controlled vocabulary. This will likely never (or in rare cases ever be), VIAF. VIAF is an aggregator, a switching point, an aggregation of information and services about a controlled term. It’s also a useful service (as are other aggregators), and this had led folks to start adding VIAF data into the $0. This is problematic, because it dilutes the value of the $0 and makes it impossible to know if the data being linked is to the source vocabulary or an aggregating service.
To that end, the PCC will likely be recommending the $1 for URIs that are linked data adjacent. This would allow users to embed references to aggregations like VIAF, while still maintaining the $0 and the URI to the actual vocabulary — and I very much prefer this approach.
So, I’m updating the MarcEdit rules file to allow users to denote multiple vocabularies to query against a single MARC field, and to denote the subfield for embedding the retrieved URI data on a vocabulary by vocabulary level. Prior, this was set as a global value within the field definition set. This means that if a user wanted to query LCNAF for main entry (in the 100) and then VIAF to embed a link in a $1, they would just need to use:
<field type=”bibliographic”>
<tag>100</tag>
<subfields>abcdqnpt</subfields>
<uri>0</uri>
<special_instructions>personal_name</special_instructions>
<vocab subfield=”0″>naf</vocab>
<vocab subfield=”1″>viaf</vocab>
</field>
The Subfield Attribute now defines per vocabulary element, where the URI should be stored, and the uri element, continues to act as the global subfield setting, if not value is defined in the vocab element. Practically, this means that if you had the following data in your MARC record:
=100 1\$6880-01$aHu, Zongnan,$d1896-1962,$eauthor.
The tool will now automatically (with the rules file updates), generate both a $0 and $1.
=100 1\$6880-01$aHu, Zongnan,$d1896-1962,$eauthor.$0http://id.loc.gov/authorities/names/n84029846$1http://viaf.org/viaf/70322743
But users could easily add other data sources if they have interests beyond VIAF.
These changes will be available in all versions of MarcEdit when the next update is posted in a week or so. This update will also include an updated rules file that will embed viaf elements in the $1 for all main entry content (when available).
–tr