[ refdb-Bugs-2935197 ] AU field: Once capitalized, always capitalized

"SourceForge.net" <[email protected]> Wed, 20 Jan 2010 13:18:37 +0000
Newsgroups gmane.text.refdb.devel
Message-ID <[email protected]>
Bugs item #2935197, was opened at 2010-01-19 20:59
Message generated for change (Comment added) made by mhoenicka
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=385991&aid=2935197&group_id=26091

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: refdbd
Group: None
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: akusmin (akusmin)
Assigned to: Markus Hoenicka (mhoenicka)
Summary: AU field: Once capitalized, always capitalized

Initial Comment:
I add citations to my RefDB databases using the command  "addref foo.ris "
where foo.ris is the file containing citations. When in one file there are two citations sharing the same author,
and if in the first such citation the author name is capitalized (FOONAME,F.B while in the second it is not (Fooname,F.B) then, 
after citations are added, the command getref returns the *capitalized* author name for both citations. 

Moreover, if there are three citations sharing the same author, the first citation contains AU field  Fooname,Frank B.  the second FOONAME,F.B
and the third Fooname,F.B, then, after adding references from this file, again, the command getref returns FOONAME,F.B.

Why I am complaining:

I get citations from ISI Web of Science, as you know, until 1995/1996 Author names and Titles are capitalized. Thus, some of citations
have capitalized names and some not.  When I make bibliography for my LaTeX document, sometimes
I see capitalized author names.

May be this is already fixed in the SVN version? could you please check?
Thank you.

P.S.
Attached is the zip file with three ris files. In ex1.ris  the citation with AU Stuhrmann, H.B, the second file contains one more citation (the very first) where AU has STUHRMANN,H.B, and the third files contains three citations, where the 1st has   STUHRMANN,Heinrich.B.

----------------------------------------------------------------------

>Comment By: Markus Hoenicka (mhoenicka)
Date: 2010-01-20 14:18

Message:
Please don't take me wrong, I'd be happy to change the code if this fixed
your problem once and for all. However, the obvious fix has two drawbacks:
1) some of your author names will still be all uppercase, which is simply
not desirable. If you create bibliographies from such entries, they'll look
odd. 2) it breaks the database normalization as it will allow to have the
same author be represented by two separate entries which differ only in
case. 

That is, the fix deals with one problem, leaves another one untouched and
creates a different one. This is why I'm reluctant here.

Wouldn't it be more straightforward to develop a Perl script which touches
up older data from ISI Web? We have similar tools, e.g. for the broken RIS
that EndNote exports. Feel free to post a bunch of sample reference data to
check whether it is worth a try.

----------------------------------------------------------------------

Comment By: akusmin (akusmin)
Date: 2010-01-20 12:58

Message:

1) Regarding example3.ris : I see your point and I agree.
2) Regarding capitalized name overriding the non-capitalized one.
*** I still think it is wisest to
clean up your input data, the additional effort notwithstanding.***
Again; I see your point, and I was thinking that I could that with all my
*old* files with citations using awk/ sed and grep .
(For *new* files I don't have this problem because   when I add citation
from ISI Web , I decapitalize author names).

However, in general,  if this problem can be fixed with a relatively small
effort and without making addref significantly slow,
it should be fixed.
It is not a big issue, sure, may be we should call it a "feature request".

Anyway: I use RefDB since 2006 and I like it. Thank you for your work!

----------------------------------------------------------------------

Comment By: Markus Hoenicka (mhoenicka)
Date: 2010-01-19 23:57

Message:
example3.ris is misleading in your case because "Stuhrmann,H.B." and
"Stuhrmann,Heinrich B." must be treated as separate entries by RefDB
because only a human being can decide whether these are the same persons,
regardless of capitalization. If you expect the database to treat these
strings as the same author, you'd have to maintain your input files
accordingly and settle on one version, preferably the one with the first
name spelled out.

This leaves the problem of "STUHRMANN,H.B." apparently outsmarting
"Stuhrmann.H.B.". When adding a reference entry, refdbd tries to find
existing authors in the database. If the author already exists, refdbd
simply sets a "link" to that author. Only if it doesn't find an existing
author, a new author entry is created. Testing for duplicates is done by a
SQL expression using the "=" operator. Apparently some database engines
treat this as a case-insensitive string comparison. I can reproduce your
results with MySQL,  but not with PostgreSQL. I have to admit that I've
never figured this might pose a problem. I still think it is wisest to
clean up your input data, the additional effort notwithstanding.

In order to fix this problem programmatically, I'd have to replace the "="
comparison with something that causes a case-sensitive comparison on all
database engines.

regards,
Markus


----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=385991&aid=2935197&group_id=26091

------------------------------------------------------------------------------
Throughout its 18-year history, RSA Conference consistently attracts the
world's best and brightest in the field, creating opportunities for Conference
attendees to learn about information security's most important issues through
interactions with peers, luminaries and emerging and established companies.
http://p.sf.net/sfu/rsaconf-dev2dev