LibreCat / Catmandu-MARC

Catmandu modules for working with MARC data
https://metacpan.org/release/Catmandu-MARC
Other
8 stars 10 forks source link

does anyone recognize this MARC JSON format? #88

Closed VladimirAlexiev closed 6 years ago

VladimirAlexiev commented 6 years ago

Hello Catmandu MARC experts! I'm turning to you in despair... Does anyone recognize this format (see paste at bottom)? It's from Répertoire de vedettes-matière (RVM). It's neither of these two:

I can hack it with just XS::JSON but I don't know how to deal with this weird accent encoding (a few sample lines shown from 325):

{grave}e
{ring}Z
{ringb}h
{ringb}s
{rlig}a
{rlig}A

Here's the strange MARC JSON:

{
"rows" : [
{
    "RecordNumber" : "1",
    "Tag" : "LDR",
    "Indicators" : "",
    "Content" : "00533nz   2200205n  4500"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "001",
    "Indicators" : "\"  \"",
    "Content" : "201-0000001"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "005",
    "Indicators" : "\"  \"",
    "Content" : "20121025110000.0"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "008",
    "Indicators" : "\"  \"",
    "Content" : "790704\\nfanvnnbabn\\\\\\\\\\\\\\\\\\\\\\b\\ana\\\\\\\\\\\\"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "016",
    "Indicators" : "\\\\",
    "Content" : "$a0509B3366"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "035",
    "Indicators" : "\\\\",
    "Content" : "$a(ISM)8013850"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "035",
    "Indicators" : "9\\",
    "Content" : "$a201-0000001"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "040",
    "Indicators" : "\\\\",
    "Content" : "$aCaQQLa$bfre"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "150",
    "Indicators" : "\\\\",
    "Content" : "$aAlg{grave}ebres de Von Neumann"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "450",
    "Indicators" : "\\\\",
    "Content" : "$wnne$aVon Neumann, Alg{grave}ebres de"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "450",
    "Indicators" : "\\\\",
    "Content" : "$aW*-alg{grave}ebres"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "550",
    "Indicators" : "\\\\",
    "Content" : "$wg$aC*-alg{grave}ebres"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "550",
    "Indicators" : "\\\\",
    "Content" : "$wg$aEspace de Hilbert"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "697",
    "Indicators" : "\\\\",
    "Content" : "$amm."
}
,
{
    "RecordNumber" : "1",
    "Tag" : "750",
    "Indicators" : "\\7",
    "Content" : "$aVon Neumann, Alg{grave}ebres de$2ram"
}
,
{
    "RecordNumber" : "1",
    "Tag" : "750",
    "Indicators" : "\\0",
    "Content" : "$aVon Neumann algebras"
}
]
}
phochste commented 6 years ago

Hi, this is a strange JSON serialization of the MARCMaker format: https://www.loc.gov/marc/mnemonics.html

MARCMaker looks like the record below and has these "Mnemonic Strings" {ring} etc

=LDR  00696nam  22002538a 4500
=001  fol05882032\
=003  IMchF
=005  20000707091904.0
=008  000630s2000\\\\cau\\\\\\\\\\\001\0\eng\\
=010  \\$a   00058174
=020  \\$a0764547291 (alk. paper)
=040  \\$aDLC$cDLC
=042  \\$apcc
=050  00$aQA76.73.P22$bF64 2000
=082  00$a005.13/3$221
=100  2\$aFoster-Johnson, Eric.
=245  10$aCross-platform Perl /$cEric F. Johnson.
=260  \\$aFoster City, CA :$bIDG Books Worldwide,$c2000.
=263  \\$a0009
=300  \\$ap. cm.
=500  \\$aIncludes index.
=650  \0$aPerl (Computer program language)
=650  \0$aWeb servers.
=650  \0$aCross-platform software development.
jorol commented 6 years ago

I've posted an answer for the encoding problem to your Stackoverflow question: https://stackoverflow.com/questions/49219741/does-anyone-recognize-this-marc-json-format/49236278#49236278