Authority: Create Concept, Person/Family resource from marc field 100
Description
Environment
Potential Workaround
Attachments
Checklist
hideActivity

Yury Barsukou June 14, 2024 at 9:35 AM
tested on #468 build, ok for me
Evidences and cases attached
Creating marc 600 field with duplicating $v, $x, $y, $z subfields through Inventory anyway leads to wrong records in http://bibfra.me/vocab/lite/subFocus that include both values $v, $x, $y, $z and their duplicates in 1 ID. Created a bug https://folio-org.atlassian.net/browse/MODLD-410 and linked it to

Punnoose Kutty Jacob Pullolickal June 10, 2024 at 7:14 PMEdited
Hi ,
In order to test this story, please create new LCSH authorities using the marc-authorities application in FOLIO. The newly created LCSH records will be automatically converted to Graph resources in few seconds.
Use the following query to get the ID of the newly created resource (replace “YOUR_PERSON_NAME
" with the actual person name)
One scenario you can test:
You could test this story and together to ensure that Graph nodes are merged into a single graph.
Test case #1
Create a MARC authority record for a subject heading in MARC field 100 & LCCN ID in 001.
Create a MARC bib record with the same subject heading information in MARC field 600
Validate that the Work resource is pointing to the subject heading created in step #1.
Test case #2
Create a MARC bib record with a subject heading information in MARC field 600. At this point, the generated CONCEPT resource will not have an LCCN ID.
Create a MARC authority record for the same subject heading in MARC field 100 & LCCN ID in 001.
Validate that the CONCEPT resource has a LCCN ID linked to it now.
Test data:
To get some “real” LCSH records from id.loc.gov, use the link given below. I have already applied necessary filtering so that LCSH records related to Shakespeare is shown in the results.
In order to see the MARC for a subject heading, click on a subject heading in the above given page, scroll down and then click on the hyperlink MARC/XML. You can then use the data from MARC 100 & 001 to create a new LCSH record in FOLIO.
Purpose of this story is to map marc field 100 to resource descriptions when $v or $x or $y or $z is present
Example: https://id.loc.gov/authorities/subjects/sh85121033.marcxml.xml
Resource #1
Types: (There will be two types)
>> http://bibfra.me/vocab/lite/Concept
>> http://bibfra.me/vocab/lite/Family (if 100/ind1 == 3)
>> http://bibfra.me/vocab/lite/Person (if 100/ind1 != 3)
Properties
http://bibfra.me/vocab/lite/name
$a
http://bibfra.me/vocab/marc/numeration
$b
http://bibfra.me/vocab/marc/titles
$c (Repeatable)
http://bibfra.me/vocab/lite/date
$d
http://bibfra.me/vocab/marc/attribution
$j (Repeatable)
http://bibfra.me/vocab/lite/nameAlternative
$q
http://bibfra.me/vocab/marc/formSubdivision
$v (Repeatable)
http://bibfra.me/vocab/marc/generalSubdivision
$x (Repeatable)
http://bibfra.me/vocab/marc/chronologicalSubdivision
$y (Repeatable)
http://bibfra.me/vocab/marc/geographicSubdivision
$z (Repeatable)
http://library.link/vocab/resourcePreferred
hardcode to true
http://bibfra.me/vocab/lite/label
Label
$b, $a, $c, $q, $d -- $v -- $x -- $y -- $z
For example: {"a": "aval", "b": "bval", "c": "cval", "d": "dval", "q": "qval", "x": "xvl", "y": "yval", "z": "zval"}
will result in label bval, aval, cval, qval, dval -- vval -- xval -- yval -- zval
Resource #2
From this Concept" resource (Resource#1), create an outgoing edge with the predicate http://bibfra.me/vocab/lite/focus
Type:
>> http://bibfra.me/vocab/lite/Family (if 100/ind1 == 3)
>> http://bibfra.me/vocab/lite/Person (if 100/ind1 != 3)
Properties
http://bibfra.me/vocab/lite/name
$a
http://bibfra.me/vocab/marc/numeration
$b
http://bibfra.me/vocab/marc/titles
$c (Repeatable)
http://bibfra.me/vocab/lite/date
$d
http://bibfra.me/vocab/marc/attribution
$j (Repeatable)
http://bibfra.me/vocab/lite/nameAlternative
$q
label
$b, $a, $c, $q, $d
Resource #3
For each $v present, create an outgoing edge with predicate "http://bibfra.me/vocab/lite/subFocus" from the Concept resource (Resource #1).
Type:
>> http://bibfra.me/vocab/lite/Form
http://bibfra.me/vocab/lite/name
$v
http://bibfra.me/vocab/lite/label
$v
Resource #4
For each $x is present, create an outgoing edge with predicate "http://bibfra.me/vocab/lite/subFocus" from the Concept resource (Resource #1)
Type:
>> http://bibfra.me/vocab/lite/Topic
http://bibfra.me/vocab/lite/name
$x
http://bibfra.me/vocab/lite/label
$x
Resource #5
For each $y is present, create an outgoing edge with predicate "http://bibfra.me/vocab/lite/subFocus" from the Concept resource (Resource #1)
Type:
>> http://bibfra.me/vocab/lite/Temporal
http://bibfra.me/vocab/lite/name
$y
http://bibfra.me/vocab/lite/label
$y
Resource #6
For each $z is present, create an outgoing edge with predicate "http://bibfra.me/vocab/lite/subFocus" from the Concept resource (Resource #1)
Type:
>> http://bibfra.me/vocab/lite/Place
http://bibfra.me/vocab/lite/name
$z
http://bibfra.me/vocab/lite/label
$z
Resource #7
Create an outgoing edge with predicate "http://library.link/vocab/map" from the Concept resource (Resource #1)
Types:
>> http://library.link/identifier/LCCN
>> http://bibfra.me/vocab/lite/Identifier
http://bibfra.me/vocab/lite/name
001
http://bibfra.me/vocab/lite/link
http://id.loc.gov/authorities/ + 001
http://bibfra.me/vocab/lite/label
001