Cite imported records = no output

  • Nobody/Anonymous

    I've been playing with refbase 0.9.0 and the latest svn - very impressed.  I have one problem.  I've imported about 150 references using their PMID identifier, using both the web interface and the command-line script.  The import seems fine.  However, very few of the references can be cited using any citation style or output.

    My test database is here:

    Try for instance selecting the first 5 records and citing - only 2 appear in the output.

    Any ideas?  I don't see any Apache log errors and I can't see a difference between records that will cite and those that won't.


    • Nobody/Anonymous

      Oops - wrong forum for this query!  Sorry everyone.

    • Matthias Steffens

      Hi Neil, no worries about the wrong forum, let's just assume that if we manage to solve your issue, then it's a useful hint! :-)

      I'd guess that all of those records in your database that fail to get properly cited upon citation output are those with "Research Support, Non-U.S. Gov't" in the 'type' field, or something similar.

      The refbase MEDLINE importer fails to convert "Research Support, Non-U.S. Gov't" to "Journal Article" which it really should. I did already fix this in my local development version a few days ago, but haven't found time to upload my changes to our SVN repository (I'll try to do so later today). PubMed uses many very odd resource type names and it's hard to match/convert all of them correctly.

      Some background info re. your issue: Currently, the refbase citation system is limited in that it only recognizes those types that are listed in MySQL table 'types'. And currently, you cannot simply add type names to this table and "have it work", since support for the newly added resource types needs to be added in the code (for citation output as well as export and import functions). The 'types' table does already feature a 'base_type_id' which future versions of refbase will use to provide for a fallback system, i.e. the admin will be able to add new types and specify a "base type" for each of the new types which can then be used for citation output etc.

      You can correct all records in your database whose type is "Research Support, Non-U.S. Gov't" (or similar) by logging into your refbase database as admin, and executing following two SQL command via 'sql_search.php':

      UPDATE refs SET type = "Journal Article" WHERE type RLIKE "^Research Support, N\.I\.H\., (Ex|In)tramural *$";
      UPDATE refs SET type = "Journal Article" WHERE type RLIKE "^Research Support, (Non-)?U\.S\. Gov\'t(, (Non-)?P\.H\.S\.)? *$";

      Using 'sql_search.php', you'll have to execute these two commands in two steps, or, alternatively use your SQL command line interpreter.

      I hope this helps, let us know if you're facing more issues!


    • Matthias Steffens

      I just checked again all the records in your test DB, you have also PubMed records of type "Validation Studies" and "Letter". If you're fine with calling these journal articles, then you could also execute this SQL query:

      UPDATE refs SET type = "Journal Article" WHERE type RLIKE "^(Validation Studies|Letter)$";



Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks