版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PubMed數(shù)據(jù)庫可下載XML數(shù)據(jù)的轉(zhuǎn)換和整合郝婷(西北師范大學(xué)數(shù)學(xué)與統(tǒng)計(jì)學(xué)院 蘭州 730070)摘要:PubMed是美國國家醫(yī)學(xué)圖書館維護(hù)的免費(fèi)搜尋引擎,提供生物醫(yī)學(xué)方面的論文搜尋以及摘要。它的數(shù)據(jù)庫來源為MEDLINE,其核心主題為醫(yī)學(xué)。根據(jù)研究的需要,課題組從PubMed下載所有與疾病相關(guān)的XML(Extensible Markup Language)數(shù)據(jù),因數(shù)據(jù)規(guī)模大,且網(wǎng)絡(luò)傳輸不穩(wěn)定,從而造成數(shù)據(jù)的一次性下載幾乎不可能,因此,作為可能的方法之一,我們按照出版時(shí)間將需要下載的XML數(shù)據(jù)拆分成不同的數(shù)據(jù)段,分別下載。這種方式同時(shí)也方便進(jìn)行并行的分布式處理。然而,下載的XML文件不能直接
2、進(jìn)行高效的分析使用,因此,需要通過格式轉(zhuǎn)換然后導(dǎo)入數(shù)據(jù)庫中才能進(jìn)行后續(xù)的分析。本文的工作,就是實(shí)現(xiàn)不同XML數(shù)據(jù)段的格式轉(zhuǎn)換,然后導(dǎo)入到SQL數(shù)據(jù)庫中,最后將這些數(shù)據(jù)段在數(shù)據(jù)庫中進(jìn)行合并,從而實(shí)現(xiàn)數(shù)據(jù)的完整性和一致性。關(guān)鍵詞:PubMed,XML,整合 Transformation and Integration of XML File Downloaded from PubMed Hao Ting(College of Mathematical and Statistical Sciences Northwest Normal University, Lanzhou, 730070)Abst
3、ract: PubMed is a free search engine accessing primarily the MEDLINE database of references and abstracts on life sciences and biomedical topics. On querying, the resulting items can be downloaded the format of XML (Extensible Markup Language). In this study, the research needs all XML data download
4、ed from PubMed. However, as the resulting items is large in number, together with situation that the network is not stable which causes it is difficult to download all data one time. One possible solution is to split whole data into different slices w.r.t. publishing time which can also facilitate p
5、arallel & distributed processing. On the other hand, XML file downloaded cannot be used directly for high performance calculation in relational database, then, it must be converted and imported into database engine for subsequent analysis. In this study, sliced XML data were processed on format conv
6、ersion first. Then, they were imported into MS SQL database for data integration . In the integrating process, the integrity and consistency of data are maintained.Keywords: PubMed,XML, integration1.PubMed簡(jiǎn)介 PubMed是因特網(wǎng)上使用最廣泛的免費(fèi)MEDLINE,是美國國家醫(yī)學(xué)圖書館(National Library of Medicine NLM)所屬的國家生物技術(shù)信息中心(Nationa
7、l Center for Biotechnology Information NCBI)于2000年4月開發(fā)的基于WEB(環(huán)球網(wǎng))的生物醫(yī)學(xué)信息檢索系統(tǒng),它是NCBI Entrez整個(gè)數(shù)據(jù)庫查詢系統(tǒng)中的一個(gè),它同時(shí)也提供對(duì)于相關(guān)生物醫(yī)學(xué)資訊上相當(dāng)全面的支援,像是生化學(xué)與細(xì)胞生物學(xué)。PubMed界面提供與綜合分子生物學(xué)數(shù)據(jù)庫的鏈接,其內(nèi)容包括:DNA與蛋白質(zhì)序列,基因圖數(shù)據(jù),3D蛋白構(gòu)象,人類孟德爾遺傳在線,也包含著與提供期刊全文的出版商網(wǎng)址的鏈接等。PubMed系統(tǒng)的特征工具欄提供輔助檢索功能、側(cè)欄提供其它檢索如期刊數(shù)據(jù)庫檢索、主題詞數(shù)據(jù)庫檢索和特征文獻(xiàn)檢索。提供原文獲取服務(wù)免費(fèi)提供題錄和文摘
8、,可與提供原文的網(wǎng)址鏈接,提供檢索詞自動(dòng)轉(zhuǎn)換匹配,操作簡(jiǎn)便、快捷。PubMed客戶端,完全免費(fèi),界面漢化,支持中文查詢,能將中文與 mesh詞自動(dòng)匹配,可免費(fèi)快速獲得全文。PubMed醫(yī)學(xué)文獻(xiàn)檢索服務(wù)系統(tǒng),其數(shù)據(jù)主要來源有:MEDLINE、OLDMEDLINE、Record in process、Record supplied by publisher等。2.XML文檔的構(gòu)成 XML文檔主要包括以下內(nèi)容:置標(biāo)和字符數(shù)據(jù),標(biāo)記,元素,屬性,預(yù)定義實(shí)體引用,注釋,CDATA1。2.1 置標(biāo)和字符數(shù)據(jù) XML 文檔是純文本文件,XML 文檔中的字符依據(jù)來源可以分為兩大類:一類是文檔的原始內(nèi)容,另一類
9、是將原始文檔創(chuàng)建為XML 文檔的過程中所增加的內(nèi)容。字符數(shù)據(jù)是創(chuàng)建XML 文檔的過程中所增加的內(nèi)容,包括指令、標(biāo)記、注釋、DTD2 等,都稱為“置標(biāo)”。如例1中的第一行“”,標(biāo)記以及注釋“”等,都是置標(biāo)。例1 The NEWEST Price of " LX2000 PIII600 128M 15XGA210002.2 標(biāo)記作為標(biāo)記語言,XML 可以在文檔中創(chuàng)建、使用新的標(biāo)記(Tags),新標(biāo)記的創(chuàng)建和使用要遵循一定的規(guī)則。2.2.1 標(biāo)記的構(gòu)成 XML 文檔中的標(biāo)記由如下三部分組成:標(biāo)記的起始字符“”。2.2.2 標(biāo)記的命名規(guī)則 標(biāo)記的名稱必須符合以下規(guī)則:可以含字母、數(shù)字以及其他
10、的字符; 不能以數(shù)字或者標(biāo)點(diǎn)符號(hào)開始; 不能以字符“xml”(或者XML、Xml)開始; 不能包含空格;可使用任何名稱,沒有保留的字詞。但是名稱中有英文字母時(shí),對(duì)大小寫是敏感的。2.3 元素和屬性2.3.1元素XML文檔包含XML元素。XML元素指的是從(且包括)開始標(biāo)簽直到(且包括)結(jié)束標(biāo)簽的部分。元素可包含其他元素、文本或者兩者的混合物。由于元素中包含了其他元素,這就構(gòu)成了元素的嵌套,幾乎所有的XML文檔都是由嵌套的元素構(gòu)成的(除非整個(gè)文檔只有一個(gè)元素)。XML 規(guī)定:不管文檔中有多少元素,所有的元素都必須被包含在一個(gè)稱為“根元素3(Rootelement)”的元素中。對(duì)于元素的嵌套,有如
11、下原則:(1) 所有XML 文檔都從一個(gè)根節(jié)點(diǎn)DOCUMENT 開始,該根節(jié)點(diǎn)代表文檔本身,根節(jié)點(diǎn)包含了一個(gè)根元素;(2) 文檔內(nèi)所有其他元素都包含在根元素中;(3) 包含在根元素中的第一個(gè)元素稱為根元素的子元素。如果不止一個(gè)子元素,且子元素沒有嵌套在第一個(gè)子元素內(nèi),則這些子元素互為兄弟;(4) 子元素還可以包含子元素;(5) 包含子元素的元素稱為分枝,沒有子元素的元素稱為樹葉。2.3.2 屬性屬性是元素的可選組成部分,其作用是對(duì)元素及其內(nèi)容的附加性信息進(jìn)行描述,由“=”分隔開的名稱-數(shù)值對(duì)構(gòu)成,如下所示:內(nèi)容例2 22000例3屬性的命名規(guī)則與標(biāo)記和元素的命名規(guī)則相似:(1) 英文名稱必須以
12、英文字母或者下劃線“_”開頭,中文名稱必須以中文文字或者下劃線“_”開頭;(2) 在使用缺省編碼集的情況下,名稱可以由英文字母、數(shù)字、下劃線“_”、連接符“-”和點(diǎn)號(hào)“.”構(gòu)成; (3) 名稱中不能含有空格;(4) 名稱對(duì)大小寫敏感;(5) 同一個(gè)元素不能有多個(gè)同名的屬性。屬性值必須被引號(hào)包圍,不過單引號(hào)和雙引號(hào)均可使用。比如一個(gè)人的性別,person標(biāo)簽可以這樣寫:,或者也可以這樣:,如果屬性值本身包含雙引號(hào),那么有必要使用單引號(hào)包圍它,如:。2.3.3 元素和屬性的區(qū)別 例4 Anna 例5 female Anna 在例4中,sex是一個(gè)屬性,而在例5中,sex則是一個(gè)子元素,兩個(gè)例子都可
13、以提供形同的信息,但是這樣容易引起混淆,所以在XML中,應(yīng)該盡量避免使用屬性,如果信息感覺起來很像數(shù)據(jù),可以使用子元素。例6,例7,例8三個(gè)XML文檔包含完全相同的信息。例6 使用了date屬性 例7 使用了date元素 08/08/2008 例8 使用了擴(kuò)展的date元素0808 20082.4 預(yù)定義實(shí)體引用XML 中有一些與計(jì)算機(jī)編程語言中有關(guān)鍵字相似的“關(guān)鍵字符”,這些字符用于構(gòu)成XML 的置標(biāo),如小于號(hào)()、單引號(hào)()、雙引號(hào)()、與字符(&)等。如果在文檔的內(nèi)容中也包含了這些字符,不加處理的話,解析器將把它們解釋為置標(biāo)的一部分,這必將引起置標(biāo)和內(nèi)容的混亂。為避免這種情況的發(fā)生,XM
14、L 定義了五種實(shí)體引用。所謂“實(shí)體引用”,是指在DTD 中將某些內(nèi)容定義為一個(gè)“實(shí)體”,然后在編寫文檔的主體部分時(shí),只要按照一定的規(guī)則在文檔中插入或者“引用”這些“實(shí)體”,解析器就會(huì)在分析文檔時(shí)使用原始的內(nèi)容來代替這些“實(shí)體”。所謂“預(yù)定義”的實(shí)體引用,是指XML 標(biāo)準(zhǔn)已經(jīng)規(guī)定好了的、不必在DTD 中進(jìn)行說明就可以使用的實(shí)體引用。XML 中共有五種預(yù)定義實(shí)體引用,如表1所示。所定義的實(shí)體所代表的符號(hào)<"'&&表1 預(yù)定義實(shí)體表2.5 注釋注釋用于對(duì)語句進(jìn)行某些提示或說明。注釋的起始和終止界定符分別為“”。使用注釋時(shí),要注意一下幾個(gè)問題:(1) 注釋不可以出現(xiàn)在
15、XML 聲明之前,XML 聲明必須是文檔的首行;(2) 注釋不可以出現(xiàn)在標(biāo)記中;(3) 注釋中不可以出現(xiàn)連續(xù)兩個(gè)連字符,即“”;(4) 注釋中可以包含元素,只要元素中不包含“”。此元素也成為注釋的一部分,在解析時(shí)將被忽略;(5) 注釋中的關(guān)鍵字符,如小于號(hào)()、單引號(hào)()、雙引號(hào)()、與字符(&),都需要使用預(yù)定義實(shí)體引用進(jìn)行代替。2.6 CDATA如果文檔中有大段的內(nèi)容包含大量的關(guān)鍵字符,比如需要引用一段含有多個(gè)元素的XML代碼塊時(shí),就需要將所有的關(guān)鍵字符一一用預(yù)定義實(shí)體進(jìn)行代替,這個(gè)工作量是十分巨大的。而且,使用預(yù)定義實(shí)體進(jìn)行代替后的文檔充滿了“&”和“;”,與其原來的樣子大相徑庭,可讀性
16、很差。針對(duì)這種情況,XML 提供了CDATA 段以解決所面臨的問題。CDATA 段用于使解析器將一段含有關(guān)鍵字符或者置標(biāo)的內(nèi)容解釋為字符數(shù)據(jù)。CDATA 段的起始定界符為“”。如例9. 例9 !CDATAThe price is 22000但是使用 CDATA 段需要注意的問題是:CDATA 段的消化能力極其強(qiáng)大,什么都能容納,惟一不能容納的是CDATA 段的終止定界符“”。所以CDATA 段是無法嵌套的。3.文件類型定義(DTD)XML 作為一種可擴(kuò)展的標(biāo)記語言,或者說作為一種元標(biāo)記語言,它可以定義新的標(biāo)記,或者可以定義新的標(biāo)記語言。新的標(biāo)記或新的標(biāo)記語言是通過“文件類型定義”( Docum
17、ent Type Definition)來定義的。DTD是“文件類型定義”的縮寫,其中規(guī)定XML文檔中的元素、屬性、標(biāo)記、文檔中的實(shí)體及其相互關(guān)系。3.1 在文檔中引用DTD 有兩種DTD的引用方法:(1)內(nèi)部DTD引用:即在文檔中直接設(shè)定DTD。(2)外部DTD引用:文件類型定義一個(gè)獨(dú)立的文件,XML文檔引用獨(dú)立文件中的文件類型定義,稱為外部DTD引用。3.1.1 內(nèi)部DTD引用DTD語義約束與xml文檔的內(nèi)容放在同一個(gè)XML文檔中。內(nèi)部DTD緊跟在XML聲明和處理指令之后,以“”結(jié)束。其語法格式如下: XML文檔主體部分例10 !DOCTYPE book redarmychen JavaW
18、eb開發(fā) 3.1.2 外部DTD引用使用外部的文檔格式定義,通常要指定一個(gè)擴(kuò)展名為“.DTD”的文檔,同樣這個(gè)文檔也只能放在文檔頭,與內(nèi)部聲明放在同一個(gè)地方,但是,使用外部DTD 聲明時(shí),XML聲明里面的standalone=no 。外部DTD 聲明的語法主要區(qū)分兩大類SYSTEM4 和PUBLIC。(1)SYSTEM 參數(shù) SYSTEM 參數(shù)調(diào)用的DTD 通常是“私有”(自定義)用途的文檔定義格式,其語法如下: 注:SYSYTEM 、DOCTYPE是關(guān)鍵字,必須要大寫;URL路徑可以是相對(duì)路徑,也可以是絕對(duì)路徑;該語句必須出現(xiàn)在XML文檔的序言區(qū)。 (2)PUBLIC 參數(shù) 相對(duì)于SYSTE
19、M 參數(shù),PUBLIC 參數(shù)通常用來調(diào)用“公有”用途的DTD。這種DTD 通常獲得某一個(gè)領(lǐng)域的用戶認(rèn)同,并經(jīng)過大家討論得到公有的文檔格式定義,語法如下: 注:PUBLIC為關(guān)鍵字,必須大寫,并說明該外部DTD具有名稱:“DTD的標(biāo)識(shí)名”為XML文檔所引用的外部公共DTD的名稱;“公用的DTD的URL地址”為外部DTD文件的路徑,含義與SYSTEM引用方式中的“DTD_URL”一致 ;該語句必須出現(xiàn)在XML文檔的序言區(qū)。3.1.3 內(nèi)部DTD和外部DTD混合使用XML文檔格式如下: 3.2 DTD中的元素聲明元素(ELEMENT)是在DTD 定義中,詳細(xì)說明此元素的名稱、內(nèi)容、可能出現(xiàn)次數(shù)的語法
20、,利用元素可以明確地定義在XML文檔中的標(biāo)記該怎樣使用,也就是將“元素”對(duì)應(yīng)到“標(biāo)記”。其語法格式如下:注:(1)“”表示聲明的結(jié)束 ;(3)“元素名稱”就是在XML 文檔中使用的標(biāo)記名稱,其命名規(guī)則與標(biāo)記的命名規(guī)則相同;(4)“元素定義”規(guī)定該元素將包含哪些子元素以及子元素之間的順序,或者對(duì)于不包含子元素的元素定義數(shù)據(jù)類型。3.2.1 元素的定義元素定義的類型,分為以下幾類:父元素5(包含子元素的元素);EMPTY(空元素);ANY(自由類型元素);只包含文本字符串的元素。(1)父元素父元素下面通常包含有子元素,基本使用格式如下:這種格式要求相應(yīng)的XML文檔中的各個(gè)子元素必須且只能出現(xiàn)一次,
21、并且必須按照子元素列表中給定的順序出現(xiàn),否則XML文檔將不能通過有效性驗(yàn)證。例11(2)EMPTYEMPTY 類型是用來定義空標(biāo)記的,其基本使用格式如下:它是一種不包含任何子元素和文本的元素。如果一個(gè)元素已經(jīng)被聲明為空元素,而在XML 文檔中該元素又包含一定的內(nèi)容,則此時(shí)文檔將不能通過解析器的有效性檢查。例12 !DOCTYPE book (3)ANYANY 類型是指該元素中可以包含其他任何被聲明過的元素,但是不能包含沒有聲名的元素;其次被該元素包含的元素在出現(xiàn)順序和次數(shù)上都不受限制;第三,在該元素中可以包含文本。ANY 將一系列的限制都解除了,其基本使用格式如下: 例13 !DOCTYPE
22、book (4)文本數(shù)據(jù)類型只包含文本字符串的元素的類型。#PCDATA#PCDATA 是DTD 所定義的一種元素類型,是XML 中默認(rèn)的一種數(shù)據(jù)類型。該類型的元素只能包含可解析的字符數(shù)據(jù)(Parsed Character DATA,PCDATA),即只能是文本內(nèi)容和CDATA 段,它的語法如下:例14XML 中有五個(gè)保留字,比如“”和“&”等在XML 中是作為標(biāo)記的特殊部分來處理的,當(dāng)XML 文檔中的某個(gè)元素或?qū)傩灾抵斜仨毷褂眠@些符號(hào)時(shí),就需要通過實(shí)體引用“<;”、“&;”等來實(shí)現(xiàn)文本的輸入,如表2所示字符&“名稱ampersandGreaterthanLess thanapost
23、ropheQuotationmark實(shí)體引用&;>;<;&apos;";表2 XML 的五個(gè)保留字符 例15 <<The Bible>>Unknown69.88但是,當(dāng)XML 文檔中使用了較多的XML 保留字,比如文檔中含有一段程序,此時(shí)如果仍然采用實(shí)體引用,則會(huì)降低文檔的可讀性,同時(shí)增加文本輸入的工作量。此時(shí),應(yīng)采用CDATA(Character Data)段。CDATA段是一種用來包含文本的方法,其格式如下:”,因?yàn)檫@是CDATA 段的結(jié)束字符串。3.3 DTD運(yùn)算符3.3.1 元組運(yùn)算符-聲明標(biāo)記出現(xiàn)的次數(shù)在DTD 的定義下,我們可以規(guī)定某標(biāo)
24、記出現(xiàn)的次數(shù),它的控制有以下四種方法,見下表3符號(hào)允許出現(xiàn)次數(shù)?零或一次*大于等于零次+大于等于一次沒有符號(hào)一次表3 XML中標(biāo)記出現(xiàn)次數(shù)的定義符例16 !DOCTYPE Person Gary6/26beijing01099206250109280972在上例中,沒有加符號(hào)的只能出現(xiàn)一次,spouse 加上“?”的允許出現(xiàn)零或一次,Address 加上“+”號(hào),至少要有一次,TEL 用“*”號(hào),可以出現(xiàn)任意次。3.3.2 順序運(yùn)算符和選擇分隔符號(hào)所謂順序分隔符, 決定了元素出現(xiàn)的順序,用“,”。所謂選擇分隔符,是用在對(duì)子元素希望有選擇項(xiàng)時(shí)使用(多選一),例如,下例中“學(xué)歷”這一項(xiàng)可能是高中、
25、大學(xué)或是研究生,而這三者有同時(shí)是元素,所以我們就要選擇了,于是用“|”這個(gè)符號(hào)把可選擇的子元素隔開。例17!DOCTYPE Person Gary 多選一NCTUbeijing02786551234027123456783.3.3 組合使用運(yùn)算符-混合型元素有時(shí)元素可能是基本元素,即其內(nèi)容為字符數(shù)據(jù),但也可能含有子結(jié)構(gòu),其內(nèi)容為子元素。在這種情況下,可以將元素定義為混合型元素。定義混合型元素的基本語法為:元素聲明的例句為:4.DTD中的屬性設(shè)定屬性是元素的可選組成部分,其作用是對(duì)元素及其內(nèi)容的附加性信息進(jìn)行描述,由“=”分隔開的名稱-數(shù)值對(duì)構(gòu)成,成為一個(gè)有效并合法的 XML 文檔,所有在文檔中
26、使用的屬性都必須是在DTD 中定義過的。DTD 中定義屬性的語法為:上面語法說明如下:(1) !ATTLIST 表示該指令為定義屬性的指令,ATTLIST 為關(guān)鍵字,必須大寫。(2) element_name 為包含該屬性的元素的名稱。(3) attribute_name 為要定義的屬性的名稱。(4) Type 為屬性值的類型。(5) Default_value 為屬性的缺省值。如果在文檔中未明確設(shè)定該屬性的值,則屬性的值即為該缺省值。4.1 屬性值的類型 屬性值類型一共有四種選擇,如下表屬性值類型說明#REQUIRED表示在標(biāo)記內(nèi)的此屬性是必需的#IMPLIED表示在標(biāo)記內(nèi)的此屬性是可選的#
27、FIXED(缺省)表示此屬性的屬性值被固定了,不能修改默認(rèn)值表示如果標(biāo)記沒有設(shè)置該屬性值,就會(huì)以該值為屬性值表4 屬性值類型的選擇例18 !DOCTYPE DOG PoPoGary10/173Husky在上例中,DOG 一共有id 和sex 這兩個(gè)屬性,屬性類型為CDATA,即表示這項(xiàng)屬性的屬性值是字符符號(hào)所組成的,而且,這兩個(gè)屬性值是必需的,不可以省略,因?yàn)閷傩灾殿愋驮O(shè)置為#REQUIRED,Breeder 有Lastname 屬性,這個(gè)屬性與DOG 的id 屬性的不同之處在于,它是可選的,Birthday 這個(gè)元素設(shè)了兩個(gè)屬性,一個(gè)是屬性year 的“#IMPLIED”,另一個(gè)就是type
28、 屬性,它的屬性值類型是“#FIXED”,值取為“AD”。4.2 屬性類型屬性類型的種類非常多,在DTD 定義中使用屬性類型來規(guī)范屬性值的取值種類。標(biāo)準(zhǔn)中的屬性類型一共有十種,如下表:屬性類型說明CDATA屬性中只能使用字符、字串ENTITY屬性值為DTD 聲明中的實(shí)體引用ENTITIES同上,但允許多個(gè)實(shí)體NOTATION其屬性是引用DTD 聲明過的NOTATION(符號(hào))ENUMERATED屬性值為其枚舉的屬性值之一NMTOKEN屬性只可以由字符組成NMTOKENS同上,但允許多個(gè)字符ID屬性是唯一的,不可再被用作相同屬性IDREF屬性值為引用到其他ID 的屬性IDREFS屬性值為引用到多
29、個(gè)ID 的屬性表5 屬性類型的選擇5.數(shù)據(jù)整合數(shù)據(jù)整合流程圖如下數(shù)據(jù)整合依次將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫EmEditor軟件檢查數(shù)據(jù)完整性PubMed數(shù)據(jù)庫下載數(shù)據(jù):E沒EditorE沒Editor 二次沒Editor檢查數(shù)據(jù)完整性數(shù)據(jù)完整性5.1數(shù)據(jù)下載在PubMed主頁面輸入(disease or research or protein or drug or therapeutic or immune or clinical or cell or study or Chinese or gene or metabolism) AND (1960/01/01Date - Publication : 19
30、70/01/01Date - Publication),然后根據(jù)檢索出的文獻(xiàn)進(jìn)行下載,下載的文獻(xiàn)格式為XML。由于需要下載的數(shù)據(jù)量過于龐大,約為90GB,所以只能根據(jù)出版時(shí)間(19602014)拆分成不同的數(shù)據(jù),按照年份以及數(shù)據(jù)的大小(數(shù)據(jù)保持在4GB以內(nèi))依次下載,如下所示:PubMed_1960,PubMed_1970,PubMed_1975,PubMed_1981,PubMed_1983,PubMed_1987,PubMed_1989,PubMed_1990,PubMed_1991,PubMed_1992,PubMed_1993,PubMed_1996,PubMed_1997,PubMe
31、d_1998,PubMed_1999,PubMed_2000,PubMed_2000_1,PubMed_2000_2,PubMed_2001_1,PubMed_2001_2,PubMed_2002_1,PubMed_2002_2,PubMed_2003_1,PubMed_2003_2,PubMed_2004_1,PubMed_2004_2,PubMed_2005_1,PubMed_2005_2,PubMed_2006_1,PubMed_2006_2,PubMed_2006_3,PubMed_2007_1,PubMed_2007_2,PubMed_2012_1,PubMed_2012_2,Pub
32、Med_2012_3,PubMed_2012_4,PubMed_2012_5,PubMed_2012_6,PubMed_2013_1,PubMed_2013_2,PubMed_2013_3,PubMed_2013_4,PubMed_2013_5,PubMed_2013_6,PubMed_2014_1,PubMed_2014_2,便于以后的分布式并行處理,然后用EmEditor軟件打開,根據(jù)XML文檔根元素的起始標(biāo)記和終止標(biāo)記檢查數(shù)據(jù)的完整性。 5.2 數(shù)據(jù)轉(zhuǎn)換在數(shù)據(jù)庫軟件SQL Server2008R26中建立數(shù)據(jù)庫PubmedArticle,圖1所示是通過VS2010編譯生成數(shù)據(jù)轉(zhuǎn)換可執(zhí)行文
33、件,其中,主要用到file按鈕,關(guān)聯(lián)分析表按鈕,清空關(guān)聯(lián)表按鈕。File按鈕:選擇需要插入數(shù)據(jù)庫PubMed的XML源文件路徑,關(guān)聯(lián)分析表按鈕:執(zhí)行數(shù)據(jù)轉(zhuǎn)換,將XML中的數(shù)據(jù)轉(zhuǎn)換到數(shù)據(jù)庫中,清空關(guān)聯(lián)表:將相關(guān)表格清空。圖15.3數(shù)據(jù)整合5.3.1 select into select into 語句的作用:從一個(gè)表中選取數(shù)據(jù),然后把數(shù)據(jù)插入另一個(gè)表中,用于創(chuàng)建表的備份復(fù)件或者用于對(duì)記錄進(jìn)行存檔。在本文中,select into用于從數(shù)據(jù)庫PubmedArticle當(dāng)中選取表tb_medlinecitation中所有數(shù)據(jù)及表結(jié)構(gòu),然后復(fù)制到數(shù)據(jù)庫PubMed中,具體代碼見附件1。5.3.2 in
34、sert intoinsert into語句用于只向已知表中插入新的數(shù)據(jù)。在本文中,insert into語句分別用于數(shù)據(jù)庫CK_PubMed,LR_PubMed,NZK_PubMed,SMM_PubMed,WLR_PubMed, WT_PubMed,SHH_PubMed向數(shù)據(jù)庫PubMed中插入數(shù)據(jù),具體代碼見附件2。結(jié)論本文從對(duì)PubMed數(shù)據(jù)庫的認(rèn)識(shí)出發(fā),繼而從多方面對(duì)XML數(shù)據(jù)格式進(jìn)行了解與闡釋,然后從PubMed數(shù)據(jù)庫中下載XML數(shù)據(jù),依次將分段下載的XML數(shù)據(jù)轉(zhuǎn)換到數(shù)據(jù)庫中,通過select into語句從數(shù)據(jù)庫PubmedArticle當(dāng)中選取表tb_medlinecitatio
35、n中所有數(shù)據(jù)及表結(jié)構(gòu)復(fù)制到數(shù)據(jù)庫PubMed中,然后通過insert into 語句將分段的七個(gè)數(shù)據(jù)庫分別整合,各個(gè)數(shù)據(jù)庫整合所用時(shí)間及處理節(jié)點(diǎn)數(shù)如下表6所示:數(shù)據(jù)庫名稱運(yùn)行時(shí)間運(yùn)行結(jié)果(節(jié)點(diǎn)數(shù))CK_PubMed03:03:163790963LR_PubMed02:01:582583098NZK_PubMed02:15:591058586SMM_PubMed01:08:361782141WLR_PubMed00:51:061378124WT_PubMed00:49:281674013SHH_PubMed00:31:121120611表6最后把上表中的數(shù)據(jù)庫整合最終數(shù)據(jù)庫PubMed,合并以后
36、的數(shù)據(jù)庫大小為68126.69MB,總記錄的數(shù)量為13387536,數(shù)據(jù)總合并的時(shí)間為10:41:35,以此,數(shù)據(jù)庫保持其完整性和一致性。參考文獻(xiàn)1 盧嘯龍.XML完全實(shí)例教程M.北京:電子工業(yè)出版社.20012 丁躍潮,葉文來.XML實(shí)用教程M.北京:機(jī)械工業(yè)出版社.20063 XML Media Types, RFC 3023. Internet Engineering Task Force. 911. 2001-01 2010-01-04.4 唐琳.XML基礎(chǔ)及實(shí)踐開發(fā)教程M.北京:清華大學(xué)出版社.20135 Bill Evjen,Kent Sharkey. 中文版由 Thiru Tha
37、ngarathinam ,王春楠,劉永金等翻譯.XML高級(jí)編程M.北京:清華大學(xué)出版社.20096 鄭阿奇,劉啟芬,顧韻華.SQL Sever實(shí)用教程(第三版)M. 北京:電子工業(yè)出版社.2009附件1:select * /*從數(shù)據(jù)庫PubmedArticle的表tb_medlinecitation中選出所有列插入到數(shù)據(jù)庫PubMed的表tb_medlinecitation中*/into PubMed.dbo.tb_medlinecitationfrom PubmedArticle.dbo.tb_medlinecitationselect * /*從數(shù)據(jù)庫PubmedArticle的表TB_P
38、ubmedArticle中選出所有列插入到數(shù)據(jù)庫PubMed的表TB_PubmedArticle中*/into PubMed.dbo.TB_PubmedArticlefrom PubmedArticle.dbo.TB_PubmedArticleselect *into PubMed.dbo.TB_PubmedDatafrom PubmedArticle.dbo.TB_PubmedDataselect *into PubMed.dbo.TB_PublicationTypefrom PubmedArticle.dbo.TB_PublicationTypeselect *into PubMed.db
39、o.TB_PersonalNameSubjectfrom PubmedArticle.dbo.TB_PersonalNameSubjectselect *into PubMed.dbo.TB_MeshHeadingfrom PubmedArticle.dbo.TB_MeshHeadingselect *into PubMed.dbo.TB_Journalfrom PubmedArticle.dbo.TB_Journalselect *into PubMed.dbo.TB_Investigatorfrom PubmedArticle.dbo.TB_Investigatorselect *into
40、 PubMed.dbo.tb_historyfrom PubmedArticle.dbo.tb_historyselect *into PubMed.dbo.TB_grantfrom PubmedArticle.dbo.TB_grantselect *into PubMed.dbo.TB_databankfrom PubmedArticle.dbo.TB_databankselect *into PubMed.dbo.TB_CommentsCorrectionsfrom PubmedArticle.dbo.TB_CommentsCorrectionsselect *into PubMed.db
41、o.TB_chemicalfrom PubmedArticle.dbo.TB_chemicalselect *into PubMed.dbo.TB_authorfrom PubmedArticle.dbo.TB_authorselect *into PubMed.dbo.TB_articlefrom PubmedArticle.dbo.TB_articleselect *into PubMed.dbo.TB_articleidfrom PubmedArticle.dbo.TB_articleidselect *into PubMed.dbo.TB_Abstractfrom PubmedArti
42、cle.dbo.TB_Abstractselect *into PubMed.dbo.TB_JieGuofrom PubmedArticle.dbo.TB_JieGuoselect *into PubMed.dbo.TB_LinShifrom PubmedArticle.dbo.TB_LinShiselect *into PubMed.dbo.TB_ZhongJianfrom PubmedArticle.dbo.TB_ZhongJian附件2:insertinto PubMed.dbo.TB_PubmedArticle /*從數(shù)據(jù)庫CK_PubMed中選取表TB_PubmedArticle所有列插入到數(shù)據(jù)庫PubMed中表TB_PubmedArticle*/select * from CK_PubMed.dbo.TB_PubmedArticleinsertinto PubMed.dbo.TB_PubmedData(PubmedArticleID /*從數(shù)據(jù)庫CK_PubMed的表TB_PubmedData中選擇列PubmedArticleID,P
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國舞臺(tái)煙火機(jī)行業(yè)發(fā)展動(dòng)態(tài)與投資效益預(yù)測(cè)報(bào)告
- 2024-2030年中國臂架式混凝土泵車行業(yè)發(fā)展趨勢(shì)及投資籌劃策略分析報(bào)告
- 2024-2030年中國脲醛樹脂市場(chǎng)發(fā)展面臨問題與投資可行性研究報(bào)告
- 2024-2030年中國膠紙切割機(jī)產(chǎn)業(yè)未來發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國美容型隱形眼鏡行業(yè)前景預(yù)測(cè)及發(fā)展競(jìng)爭(zhēng)力分析報(bào)告
- 2024-2030年中國絕熱隔音材料產(chǎn)業(yè)營運(yùn)格局分析及未來發(fā)展策略研究報(bào)告
- 2024-2030年中國稀有稀土金屬釹產(chǎn)業(yè)未來發(fā)展趨勢(shì)及投資策略分析報(bào)告
- 2024-2030年中國科技服務(wù)行業(yè)發(fā)展運(yùn)營模式及投資策略分析報(bào)告版
- 2024-2030年中國磨砂玻璃行業(yè)供需狀況發(fā)展戰(zhàn)略規(guī)劃分析報(bào)告
- 2024-2030年中國研制生物制品行業(yè)發(fā)展?fàn)顩r與投資可行性研究報(bào)告
- 安徽省淮北市地方婚禮流程資料
- 附件3-4歐曼金融服務(wù)經(jīng)銷商融資業(yè)務(wù)介紹
- 中醫(yī)骨傷科學(xué)9肩周炎上肢傷筋
- 五年級(jí)分?jǐn)?shù)乘法口算練習(xí)
- 客戶服務(wù)管理七大原則
- 斜井常閉式防跑車裝置設(shè)計(jì)說明書
- 購買文件登記表.doc
- [山東]建筑工程施工技術(shù)資料管理規(guī)程表格
- 《葫蘆絲演奏的入門練習(xí)》教學(xué)設(shè)計(jì)
- 噪聲傷害事故PPT課件
- 四川省農(nóng)業(yè)水價(jià)綜合改革試點(diǎn)末級(jí)渠系工程建設(shè)項(xiàng)目實(shí)施方案
評(píng)論
0/150
提交評(píng)論