البحث العكسي عن معرف الكائن الرقمي في جدول الاستشهادات؟

StackOverflow https://stackoverflow.com//questions/9711539

سؤال

لدي جدول استشهادات يتضمن الاسم الأخير للمؤلف الأول والعنوان والمجلة والسنة وأرقام الصفحات لكل استشهاد.

لقد قمت بنشر الأسطر القليلة الأولى من الجدول مستندات جوجل, ، أو ال نسخة CSV (ليست كل السجلات تحتوي على مستند doi)

أود أن أكون قادرًا على الاستعلام عن معرف الكائن الرقمي لكل من هذه الاستشهادات.بالنسبة للعناوين، سيكون من الأفضل أن يتعامل الاستعلام مع "المطابقة الغامضة".

كيف يمكنني أن أفعل هذا؟

الجدول موجود حاليًا في MySQL، ولكن سيكون كافيًا أن يبدأ وينتهي بملف بتنسيق .csv (سأكون ممتنًا للإجابة التي تبدأ من البداية إلى النهاية) (أو، بما أنني أستخدم R في الغالب، إطار بيانات R).

هل كانت مفيدة؟

المحلول 3

هنا خياران

تحميل ملف CSV

لقد وجدت حلاً واعدًا آخر لا يعمل بشكل جيد من الناحية العملية كما هو الحال في

يسمح لك CrossRef بتحميل ملف CSV المرتبط مباشرة، ثم إجراء استعلام نصي هنا: http://www.crossref.org/stqUpload/

ومع ذلك، فإن 18 استعلامًا فقط من أصل 250 استعلامًا (~7%) أعادت مستندًا رقميًا.

استعلام XML

استنادًا إلى إجابة Brian Diggs، هذه محاولة تؤدي 95% من العمل - نحو كتابة الاستعلام المستند إلى XML، لا يزال به بعض الأخطاء التي تتطلب بعض الحذف باستخدام sed.لكن المشكلة الأكبر هي أن "جلستي انتهت مهلة" عند إرسال الاستعلام.

يتضمن بناء جملة XML خيارًا لاستخدام المطابقة الغامضة.

يحتوي ملف doiquery.xml على نص القالب في إجابة @Brians؛تم ربط ملف citations.csv أعلاه.

library(XML)
doiquery.xml <- xmlTreeParse('doiquery.xml')

query <- doiquery.xml$doc$children$query_batch[["body"]]

citations <- read.csv("citations.csv")

new.query <- function(citation, query = query){
  xmlValue(query[["author"]]) <- as.character(citation$author)
  xmlValue(query[["year"]]) <- as.character(citation$year)
  xmlValue(query[["article_title"]][["text"]]) <- citation$title
  xmlValue(query[["journal_title"]]) <- citation$journal
  return(query)
}


for (i in 1:nrow(citations)){
  q <- addChildren(q, add.query(citations[i,]))
}
axml <- addChildren(doiquery.xml$doc$children$query_batch, q )

saveXML(axml, file = 'foo.xml')

تحويل CSV إلى XML

يوفر برنامج Creativyst على شبكة الإنترنت CSV إلى XML محول.

خطوات:

  1. أدخل أسماء الأعمدة في حقل ElementID،
  2. "المستند" في حقل DocID
  3. "الاستعلام" في حقل RowID
  4. انسخ / الصق ملف CSV في "ملف إدخال CSV".
  5. انقر فوق تحويل

راجع أيضًا هذا السؤال ذي الصلة: برنامج Shell النصي لتحليل ملف CSV لاستعلام XML؟

نصائح أخرى

لا أعرف أي حزم أو وظائف كاملة تفعل ذلك بالفعل، ولكن هذا هو النهج العام الذي أستخدمه. تقدم CrossRef.org نهجا يستند إلى الويب لتحديد DOI من البيانات الببليوغرافية في http://www.crossref.org/ ضيالة /

على تلك الصفحة تعد عدة طرق مختلفة للبحث، بما في ذلك آخر واحد يأخذ البحث منسق XML. تتضمن الصفحة معلومات حول كيفية إنشاء XML المناسب. ستحتاج إلى تقديم XML عبر HTTP (تحديد التفاصيل عن طريق اختيار الصفحة لمعرفة وجهات النموذج وأي معلومات إضافية تحتاج إلى تضمينها) ثم تحليل الاستجابة.

بالإضافة إلى ذلك، ستحتاج إلى التحقق من القيام بذلك بطريقة آلية لا تنتهك شروط خدمة الموقع بأي طريقة.


أدناه هو نموذج XML للمسودة CrossRef، تتضمن المصطلحات القابلة للبحث: article_title، المؤلف، السنة، Journal_title، وحدة التخزين، الصفحة الأولى:

giveacodicetagpre.

هذه مشكلة مفتوحة.هناك طرق أفضل وأسوأ لمهاجمتها، لكن ابدأ بالقراءة ملخص كارين كويل من هذه المشكلة.الببليوغرافيا المرفقة في المادة كذلك ممتاز.

باختصار، تعد مشكلة قياس التشابه بين سجلين ببليوغرافيين أمرًا صعبًا، وقد تركز قدر كبير من أبحاث التعلم الآلي حول هذا الموضوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top