AW: [librecat-dev] A common MARC record path language
[email protected] ("Klee, Carsten") Mon, 24 Feb 2014 07:39:30 +0000
| Newsgroups | perl.perl4lib |
|---|---|
| Message-ID | <[email protected]> |
Hi Thomas and Patrick! Thank you both for bringing the discussion forward. I must admit that I'm h= aving some problems following here. I read your mails multiple times, reall= y trying to understand your demands. After reading this [1], I hope I'm get= ting closer. I just want to sum up what I think I've understood so far. Please correct m= e if I'm wrong.. -- When it comes to cataloging based delimiters (punctuation), there is so= me inner semantic to the content of the subfields. E.g. "=3D$b" in field 24= 5 means something different than ":$b". -- There may be data you want to get at whole, which spread over multiple s= ubfields. This information is cannot be described by the range of subfields= , but with the closure through punctuation. E.g. in the field 245 00$aHeritage Books archives.$pUnderwood biographical dictionary.$nVolu= mes 1 & 2 revised$h[electronic resource] /$cLaverne Galeener-Moore. the data you want to get is Heritage Books archives. Underwood biographical dictionary. Volumes 1 & 2 r= evised [electronic resource] Is this what you mean when want to say something like "Get me all from fiel= d XXX until you hit Y"? I guess so. -- Therefore the order of subfields is crucial. While MARCspec allows subfi= elds stated in any order, a result should preserve the subfield order emerg= ing in the field. -- Some fields are linked through specific subfields. There may be some dat= a you want to get dependent on linkage from other fields. I'm not sure if I= have an example for this. Maybe you could provide one. Finally I've found a nice example on the MARC21 website [2] (section $i - R= elationship information). That my question is, if you want to achieve somet= hing like this: Source: 100 1# $aVerdi, Giuseppe, $d1813-1901. 245 10 $aOtello :$bin full score /$cGiuseppe Verdi. 700 1# $iLibretto based on (work) $aShakespeare, William, $d1564-1616. $tO= thello. 787 08 $ireproduction of (manifestation) $aVerdi, Giuseppe, 1813-1901. $tO= tello.$d Milano: Ricordi, c1913 Result (user display): Verdi, Giuseppe, 1813-1901. Otello : in full score / Giuseppe Verdi Reproduction of Verdi, Giuseppe, 1813-1901. Otello. Milano : Ricordi, c1913 Libretto based on Shakespeare, William, 1564-1616. Othello. Is this something you want to express within a MARCspec? Anyhow a collection of use cases is a great idea. That would help to discov= er the tasks a MARCspec should cope. But I really need your help here. Mayb= e a wider audience would also be helpful? Cheers! Carsten [1] <http://marc-must-die.info/index.php?title=3DMARC_issues> [2] <http://www.loc.gov/marc/bibliographic/bd76x78x.html> _______________________________________________ Carsten Klee Abt. =DCberregionale Bibliographische Dienste IIE Staatsbibliothek zu Berlin - Preu=DFischer Kulturbesitz Fon: +49 30 266-43 44 02 > -----Urspr=FCngliche Nachricht----- > Von: Thomas Berger [mailto:[email protected]] > Gesendet: Mittwoch, 19. Februar 2014 23:06 > An: Klee, Carsten; 'Patrick Hochstenbach' > Cc: [email protected]; [email protected]; [email protected] > Betreff: Re: [librecat-dev] A common MARC record path language >=20 > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 >=20 > Hi Carsten, >=20 > > I think the whole problem lies in the limited expressivity of strings. > > MARCspec is pretty much close to XPath at its approach, but without > regular > > expressions and functions like first(), last() etc. But even with XPath > it would > > be pretty hard to get the character before a subfield in a MARCXML file= . > > > > The only solution I can think of, is using regular expressions. And I'm > not > > convinced that bringing this into MARCspec is a good idea. As I already > > mentioned in the spec, MARCspec is not independent from the application > using > > MARCspec. Taking regular expressions into MARCspec wouldn't make the > application > > more usable, but would blow up the specification. >=20 > Agreed, therefore regular expressions or other /general/ mechanisms > should not the way to go (for specifying MARCspecs - specific > implementations > may realize it using a regexp implementation at hand) >=20 > Thus, yes, limited expressivness of strings demands to make the most > typical and most important "operations" on MARC records to be > expressible. But if it's too limited (say it could only extract fields > or has blind spots - parts of record data which cannot be accessed at all= ) > it wouldn't be of any use. >=20 > Thus MARCspec's need a convincing approach to the peculiarities of MARC > records: >=20 > Subfields are not always data elements in a proper sense, sometimes > they are just marks interspersed into the field content. >=20 > And as Patrick pointed out there is the presence of non-MARC delimiters > (markup) which is crucial for processing of some (sub)fields. >=20 > Many fields contain "ensembles" of subfields with one nature, accompanied > by other, more data-like subfields of a different nature: >=20 > - - Most subfields in 700 are a simple copy of some (hypothetical) > authority > record's 100, however $e and/or $4 denote the function of that person > with > respect to the work described by the record at hand - and repeatable > $0's > just are complimentary to the "core" subfields which well may be > $a,$b,$c,$d, > $f,$g,$j,$k,$l,$n,$p,$q,$t and $u (some of them repeatable and don't > even > dare to change anything in their order). Use cases might include > /selection/ > based on one or more of the more data-like subfields and /reduction/ of > the > field to a form suitable for further proessing (indexing without $e, > display > including $e, or with deviant formatting of $e with reverence to today'= s > slighly silly discussion on AUTOCAT concerning photographers acting as > authors > and authors acting as photographers to the perplexion of patrons ...). >=20 > - - Same issue with most fields 77X: most subfields pertain to the work, > some are the individual "coordinates" within this work for that part > described by the given record >=20 > - - The 245 example (and also the $e in 100's) may demonstrate a need to > /partition/ a field at certain spots - maybe before or after subfields > meeting some content condition. >=20 > - - Ubiquitous (in the specification, maybe not in the "field") are $6 an= d > $8's. If MARCspec's could make thusly interwoven fields accessible > as ensembles - that would be an enormous benefit! >=20 > - From my limited experience the "unclear" nature of subfields really is > the > hard part in MARC processing: If you delve into subfield processing too > early you get data fragments almost or completely impossible to reassembl= e > into something meaningful. On the other hand looking at fields as a whole > gives you more chances to understand what it is about but you're going > to choke on the weeding out necessary to proceed. >=20 > Thus maybe due to my limited experience in MARC processing I'd very much > appreciate MARCspec as a grammar to formulate those tasks that really > matter (and are hard to be done 100% right). To achieve that - cf. > Patrick's reply again - one or several "processing paradigms" for MARC > records should serve as a base and - for clarities' sake - should be made > explicit in the MARCspec specification. >=20 > Thomas > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1 > Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ >=20 > iJwEAQECAAYFAlMFKsEACgkQYhMlmJ6W47M05wP/WcjpFrIXlOI/y21kxcYc+XDH > QHT/8QypD6yKqHM8c7KzcHB8efttB7CQ8mB7cAtqxqQw2oqPzicnkYXIJU9Z9Yxm > yIaJXPWKovgypLNn4sAjPf2/MsJMYTtCrLOGwWxgp+Uq8bvAuZx5iMr1rKP68PzH > DCGkPq31KhMT1tUBHMk=3D > =3DEP69 > -----END PGP SIGNATURE-----