lcnetdev / marc2bibframe2

Convert MARC records to BIBFRAME2 RDF
http://www.loc.gov/bibframe/
Creative Commons Zero v1.0 Universal
88 stars 35 forks source link

856 Item creation #54

Closed wafschneider closed 6 years ago

wafschneider commented 7 years ago

From @ntra00:

I think there’s a problem with 856s.

http://lx2.loc.gov:210/LCDB?query=rec.id=10063988&recordSchema=bibframe2&maximumRecords=1

http://id.loc.gov/tools/bibframe/compare-id/full-ttl?find=10063988

http://id.loc.gov/tools/bibframe/compare-id/full-rdf?find=10063988

The Work has an instance for the 856 (856-22). And it has an Instance for the main Instance,(#Instance).

The 856 instance embedded in the work has an item for itself, (#Item856-22")

On the main instance, there are 2 hasItems, Item050-13" and and Item for the 856 again. (#Item856-22")

I think that’s wrong, and the 856 Item should only be on its own instance. I have not checked the spec.

Thanks,Nate

wafschneider commented 7 years ago

It definitely seems wrong -- the same Item record is created twice. The 856 in question is:

<datafield tag="856" ind1="4" ind2="1">
<subfield code="u">http://hdl.loc.gov/loc.gdc/scd0001.00147517178</subfield>
</datafield>

The spec deals with ind2 values of #, 0, 8, and 2 -- but not 1 ("Version of resource"). I will check with Sally as to whether this represents a new Instance of the Work or if it is just an Item on the main Instance generated by the work.

wafschneider commented 6 years ago

Sally has proposed the following change to process 3.2 which will resolve the problem if implemented:

3.2) If 856 Ind2 = # or 0 or 1 or 8 According to MARC 856, i2=1 is an electronic version of an analog resource described in the record, so the BF description would have an Instance for the analog and then a new Instance for the electronic version specified in 856. It would always, if the data is correct, fall in the second group about when the Instance is NOT electronic.

wafschneider commented 6 years ago

I think this was an implementation as well as a specification error (or maybe the spec changed without the change getting to the converter?). It is specified that an record describes an electronic resource if 008/23 = "o" or "s". The conversion script used 007/00 = "c" or 008/23 = "q" or "s" -- which is why the item was created on both Instances, rather just on the Instance created by the 856 in the sample record.