軒旭
摘? 要;文章通過對于語義Web技術(shù)的理論基礎(chǔ)、結(jié)構(gòu)層次和框架的分析,比較不同技術(shù)的特點,并給出了語義Web數(shù)字資源整合總體框架和流程。根據(jù)數(shù)字資源的不同類型,利用本體、語義網(wǎng)服務(wù)和搜索引擎,提出分布式的數(shù)字資源整合方案,實現(xiàn)了主要數(shù)據(jù)類型的資源共享。探討了從OWL模型到UML模型之間的轉(zhuǎn)換,并對如何利用語義Web進(jìn)行開發(fā),提出應(yīng)注意的問題和相應(yīng)的解決措施。
關(guān)鍵詞:語義Web;數(shù)字資源;知識共享
中圖分類號:G25? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號:2095-2945(2020)22-0014-04
Abstract: Through the analysis of the theoretical basis, structure and framework of semantic Web technology, this paper compares the characteristics of different technologies, and gives the overall framework and process of semantic Web digital resource integration. According to the different types of digital resources, a distributed digital resource integration scheme is proposed by using ontology, semantic web service and search engine, and the resource sharing of main data types is realized. This paper discusses the transformation from OWL model to UML model, and puts forward some problems that should be paid attention to and corresponding solutions to how to develop with semantic Web.
Keywords: semantic Web; digital resources; knowledge sharing
1 背景和需求
語義Web 是下一代互聯(lián)網(wǎng)發(fā)展的核心技術(shù)之一,數(shù)字資源的日趨豐富是推動網(wǎng)絡(luò)向智能化和自動化方向發(fā)展的重要動力。語義網(wǎng)賦予知識具體的形式,使它具有計算機可讀性,以及對知識庫進(jìn)行方便的集成和推理。語義Web本身是一個數(shù)據(jù)網(wǎng),通過對數(shù)據(jù)進(jìn)行各種方式的描述,以便形成具有遵守特定語法和語義的上下文,即具有相互關(guān)聯(lián)的語義。數(shù)據(jù)資源由于需要特定的存儲方式,呈現(xiàn)出表達(dá)形式的多樣性,結(jié)構(gòu)化程度不一。而對大量的資源的查詢,為獲得更為準(zhǔn)確和針對性的結(jié)果,就需要對各種數(shù)據(jù)進(jìn)行整合和組織,使之能體現(xiàn)知識的內(nèi)在聯(lián)系,讓知識的表達(dá)完備和清晰。語義Web具有以數(shù)據(jù)為中心的組織特征以及對知識庫的推理能力,成為對資源進(jìn)行組織的一種有效方式。
Web由國際化聯(lián)盟機構(gòu)W3C進(jìn)行管理,根據(jù)Tim Berners-lee等人的定義:“語義Web不是另外一個Web,它是現(xiàn)有Web的延伸,其中信息被良好的定語了含義,從而使計算機可以更好地協(xié)同人工作?!闭Z義Web提供了在應(yīng)用、企業(yè)和社區(qū)之間數(shù)據(jù)共享的通用框架。語義Web搜索技術(shù)和語義服務(wù)技術(shù)是兩項正在發(fā)展的遠(yuǎn)未成熟的技術(shù),都已經(jīng)有了不同程度的實現(xiàn)。語義Web搜索實現(xiàn)了語義標(biāo)注的索引以及基于標(biāo)注本體和知識庫的推理,能夠檢索出內(nèi)容對象并給出明確的關(guān)系。語義Web服務(wù)通過富含語義的服務(wù)信息可以為服務(wù)加入計算機可讀性,便于服務(wù)的自動的發(fā)現(xiàn)、組合、協(xié)商和調(diào)用,便于數(shù)據(jù)資源的利用,不僅包括服務(wù)而且包括數(shù)據(jù)。
2 不同形式數(shù)據(jù)資源的發(fā)現(xiàn)和利用方式
當(dāng)今教育、科研、圖書館數(shù)字資源存在大量的重復(fù)建設(shè),由于各種標(biāo)準(zhǔn)和應(yīng)用平臺之間的不兼容,本應(yīng)相互關(guān)聯(lián)結(jié)構(gòu)完備的知識卻是以點的或碎片的形式提供給應(yīng)用者。原因在于當(dāng)前的檢索技術(shù)僅是以關(guān)鍵詞作為檢索詞,無法清晰理解語言的含義,并進(jìn)行必要的推理。通過語義Web能夠把數(shù)據(jù)資源公開到網(wǎng)絡(luò)上,形成具有語義的知識內(nèi)容,便于搜索和利用。語義Web上的數(shù)字資源的表達(dá)的方式多種多樣,通過語義Web對信息進(jìn)行信息的整合,以一個整體的視角來看,即是通過語義Web的本體技術(shù),利用標(biāo)注、搜索和語義網(wǎng)絡(luò)服務(wù)組合,把傳統(tǒng)數(shù)據(jù)資源轉(zhuǎn)換為具有一定語義的能夠通過Web訪問的數(shù)據(jù)資源知識庫。語義Web能夠使用導(dǎo)航、搜索或檢索的方式訪問資源,對知識進(jìn)行有效的組織,并可以進(jìn)行進(jìn)一步的推理和利用。導(dǎo)航簡單明了地利用可視化的方式顯示資源的位置和它們之間的聯(lián)系,搜索可以訪問分布于不同位置的資源存儲,而檢索可以進(jìn)行完備和準(zhǔn)確的查詢。傳統(tǒng)數(shù)據(jù)包括網(wǎng)頁、數(shù)據(jù)庫、多媒體等內(nèi)容。不同的數(shù)據(jù)都可以利用分布網(wǎng)絡(luò)的形式,通過超文本鏈接的方式組織起來。對于Web的內(nèi)容,通過在網(wǎng)頁中嵌入語義或添加標(biāo)注充實已有的網(wǎng)站,使網(wǎng)頁的內(nèi)容之間的關(guān)系明確,易于人類或者智能代理的理解和利用。各種數(shù)據(jù)庫的集成,需要利用語義Web技術(shù)提供的多種映射功能集成各種知識,以面向特定應(yīng)用程序的本體作為知識模型和應(yīng)用程序之間的接口,完成跨領(lǐng)域的信息交換。對于多媒體內(nèi)容以及文本中的實體的處理,現(xiàn)在仍以手工分類整理為主,采取文本處理的方法,用關(guān)鍵詞、創(chuàng)建時間或者特定的元數(shù)據(jù)等進(jìn)行標(biāo)引,成本較高。檢索大多局限于多媒體的外部特征方面,而發(fā)展方向應(yīng)是基于內(nèi)容的檢索?;趦?nèi)容的檢索是對多媒體對象的內(nèi)容及上下文語義環(huán)境所進(jìn)行的檢索,既能對以文本為代表的離散媒體進(jìn)行檢索,也可以對聲音、圖像、視頻等連續(xù)媒體進(jìn)行檢索。其內(nèi)容包括物理層、邏輯層、語義層三個不同層次。例如圖像的顏色特征、紋理特征、性狀特征屬于物理層,圖像對象的空間位置和相互關(guān)系屬于邏輯層,而語義層是圖像表達(dá)的意識。通過引入本體和語義標(biāo)注,為多媒體的深處理提供了新的方法,尤其在多媒體的語義層面。從原始數(shù)據(jù)到跨領(lǐng)域的信息共享,需要利用本文提到的不同的方法。
3 引入數(shù)據(jù)資源到語義豐富的知識庫
以下從兩個方面對構(gòu)建知識庫進(jìn)行說明:(1)語義Web信息整合的基本內(nèi)容和框架結(jié)構(gòu)。(2)通過本體技術(shù)進(jìn)行整合的原理、過程和方法。
3.1 語義Web信息整合的基本內(nèi)容和框架結(jié)構(gòu)
語義Web的基礎(chǔ)是數(shù)據(jù)表示、查詢和應(yīng)用規(guī)則一組標(biāo)準(zhǔn)。語義Web解決的問題主要在于:將Web數(shù)據(jù)轉(zhuǎn)化為計數(shù)機可以理解的形式;提供一種構(gòu)建領(lǐng)域知識的模型;不同領(lǐng)域的信息交換。主要技術(shù)包括資源描述框架RDF,用于構(gòu)造的RDFS,以及用于構(gòu)建和描述的Web本體語言O(shè)WL。RDF定義三元組形式的數(shù)據(jù)模型,在語義網(wǎng)中,信息被表示成陳述的斷言集合,每一個陳述由三部分組成:主語、謂語和賓語。RDFS是一種面向資源描述框架的詞匯表語言,用語義一致的公共詞匯集合對RDF中使用的資源和屬性,表達(dá)RDF信息的含義。OWL是面向Web的本體語言,它擴(kuò)展了RDFS的詞匯表,引入了更多的約束,可進(jìn)行推理過程,是更高層級的語言。三者之間體現(xiàn)一種進(jìn)化的關(guān)系。
Tim Berners-lee 在2000年提出最初的語言Web層次模型,其后隨著語義技術(shù)的發(fā)展,該模型不斷完善。通過UNICODE和URI層,支持語義Web上的對象和資源標(biāo)識;XML及命名空間層,支持創(chuàng)建結(jié)構(gòu)化的XML文檔和在Web上交換文檔;RDF和RDFS 層、本體層兩層給出基本數(shù)據(jù)模型和各種資源的關(guān)系;邏輯層和證明層提供公理和推理規(guī)則,進(jìn)行演繹和證明;信任層提供信任機制。
大多數(shù)的語義Web的框架結(jié)構(gòu)都是一組工具的集合,通常包括3種基礎(chǔ)組件:存儲、推理和訪問。存儲組件是RDF陳述的知識庫,如Sesame、jena存儲系統(tǒng)。推理組件是推理引擎,如Racer、Pellet等。訪問組件是查詢搜索的應(yīng)用程序處理器。語言、框架和模型通過抽象規(guī)范化標(biāo)準(zhǔn)找出兼容的解決方案。
3.2 通過本體技術(shù)進(jìn)行整合的原理,過程和方法
為了利用傳統(tǒng)數(shù)據(jù),首先要做的就是把不同形式的數(shù)據(jù)轉(zhuǎn)化為以RDF描述的本體方式;然后對不同領(lǐng)域本體進(jìn)行轉(zhuǎn)換,使領(lǐng)域本體對準(zhǔn)(Ontology alignment),將數(shù)據(jù)引入到領(lǐng)域知識模型中,形成知識庫;最后通過Web和各種接口訪問分布的知識庫。轉(zhuǎn)換這些數(shù)據(jù)的方法正是本文討論的重點內(nèi)容。數(shù)據(jù)資源主要有如下幾種:數(shù)據(jù)庫、XML描述的文檔、網(wǎng)頁、文本、多媒體,不同的形式?jīng)Q定了轉(zhuǎn)化為本體的復(fù)雜程度,而且結(jié)構(gòu)化程度的不同程度決定了向本體轉(zhuǎn)換的深度和顆粒度程度。按照數(shù)據(jù)的結(jié)構(gòu)化程度,可以把數(shù)據(jù)分為結(jié)構(gòu)化數(shù)據(jù),即可以用二維表結(jié)構(gòu)來邏輯表達(dá)實現(xiàn)的數(shù)據(jù):存儲在數(shù)據(jù)庫里的數(shù)據(jù);半結(jié)構(gòu)化數(shù)據(jù):就是介于完全結(jié)構(gòu)化數(shù)據(jù)和完全無結(jié)構(gòu)的數(shù)據(jù)之間的數(shù)據(jù),它一般是自描述的,數(shù)據(jù)的結(jié)構(gòu)和內(nèi)容混在一起,沒有明顯的區(qū)分,能用樹或圖的模型表示。包括HTML文檔、XML文檔和各類報表等;非結(jié)構(gòu)化數(shù)據(jù):聲音、圖像、視頻等多媒體文件。轉(zhuǎn)換這些數(shù)據(jù)的方法正是整合資源的重點內(nèi)容。根據(jù)結(jié)構(gòu)化程度不同,把數(shù)據(jù)轉(zhuǎn)換為RDF格式主要有以下幾種方式:
3.2.1 對結(jié)構(gòu)化的數(shù)據(jù)-數(shù)據(jù)庫數(shù)據(jù)的轉(zhuǎn)換
對于數(shù)據(jù)庫和其它數(shù)據(jù)規(guī)范程度較高、數(shù)據(jù)量大的數(shù)據(jù)處理,是語義Web的重要任務(wù),RDF和OWL與關(guān)系數(shù)據(jù)庫一樣,都適用于對實體-關(guān)系模型中的信息進(jìn)行建模,可以把數(shù)據(jù)庫的表和列映射到本體的類和屬性上。目前已有多種工具(如D2RQ、SquirrelRDF)把關(guān)系數(shù)據(jù)庫中數(shù)據(jù)轉(zhuǎn)換為虛擬的RDF圖,作為一個SPARQL查詢的端點被訪問,或直接從SQL結(jié)果生成RDF,也可以制定一個流式的寫RDF文件接口程序,進(jìn)行大批量的轉(zhuǎn)換。
3.2.2 對于半結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換
(1)基于XML格式的數(shù)據(jù)轉(zhuǎn)換。網(wǎng)絡(luò)上有海量的XML數(shù)據(jù)資源可以使用,XML是樹形結(jié)構(gòu),每個節(jié)點包含節(jié)點的屬性和子節(jié)點,XMLschema用來表示文檔中節(jié)點的數(shù)據(jù)類型和預(yù)期節(jié)點,而RDF三元組的圖結(jié)構(gòu)是表示使用屬性聯(lián)結(jié)資源的陳述。由于將結(jié)構(gòu)和屬性轉(zhuǎn)換為資源和關(guān)系很難找到通用的方法,所以要作具體考慮。從XML轉(zhuǎn)換到RDF需要較多的方法和步驟。利用可擴(kuò)展樣式表語言轉(zhuǎn)換XSTL是一種常用的方式。它首先生成用于影射的模版,然后將源文檔進(jìn)行解析,按路徑對XML文檔樹的節(jié)點進(jìn)行匹配,處理節(jié)點的結(jié)構(gòu)和取值,生成對應(yīng)的RDF文檔。這種方法的好處是可以把轉(zhuǎn)換的配置保存在程序的外部,當(dāng)源文檔發(fā)生變化時,并不需要對程序作新的改變。
(2)對任意的Java對象的轉(zhuǎn)換和數(shù)據(jù)公開。Java Reflection API允許對任意對象進(jìn)行操作,首先推斷該對象是哪一個類的實例,隨后得到這些類的信息,包括屬性名稱、修飾符和合屬性,然后為每一個對象生成類型信息、屬性和值的信息,最后進(jìn)行序列化成輸出流,存儲為RDF文件。由于很多數(shù)據(jù)形式能夠通過不同的方式最終轉(zhuǎn)換成Java數(shù)據(jù)對象。如以下兩種方式都可以進(jìn)行XML到Java對象轉(zhuǎn)換,a.通過JAXB(Java Architecture for XML Binding簡稱JAXB)產(chǎn)生Java類的集合,XML文檔的節(jié)點被表示成protected類型的成員變量,然后把XML中的數(shù)值編出(unmarshal)到對象中,產(chǎn)生Java對象(圖1)。b.或者利用文檔對象模型DOM解析XML文檔,然后將其裝載在Java對象中,所以這是一種一般化的方法。
(3)對于RDFa和各種微格式解析和轉(zhuǎn)換。RDFa是一個W3C推薦標(biāo)準(zhǔn),用于在XHTML網(wǎng)頁中插入嵌入式語義。微格式是整合到XHTML網(wǎng)頁中的支持語義表述性表達(dá)式的XML標(biāo)簽,是基于詞匯的集合。要將它們抽取到語義Web應(yīng)用程序中,需要相應(yīng)的解析器來處理,通過正確解析后便可以用來構(gòu)建RDF文檔。對于RDFa而言,它本身已經(jīng)是RDF格式,所需關(guān)注的只是如何從網(wǎng)頁抽取。
3.2.3 對于非結(jié)構(gòu)化數(shù)據(jù)的轉(zhuǎn)換
多媒體文件對于人類是很容易理解的,而計算機對圖像、圖片、視頻、音頻、文本文檔、地圖等數(shù)據(jù)類型的理解十分困難。通過Web標(biāo)簽系統(tǒng),用戶可以對Web中的數(shù)據(jù)塊、圖像、視頻加標(biāo)注,增加對Web內(nèi)容的支持。但是標(biāo)簽僅僅是一些單詞或短語,除自身的含義外,無法提供給計算機可以識別的語義,畢竟非結(jié)構(gòu)化的文本無法很好的描述非結(jié)構(gòu)化的數(shù)據(jù)。如果在實現(xiàn)過程中,利用語義標(biāo)簽標(biāo)注的方法,就可以把各種非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化的語義標(biāo)注描述的數(shù)據(jù),產(chǎn)生相應(yīng)的RDF文件。此方法是通過在一個本體中對標(biāo)簽進(jìn)行定義,形成一個標(biāo)簽本體,對標(biāo)注詞匯集和本體的標(biāo)準(zhǔn)化,進(jìn)而產(chǎn)生用戶可以用來標(biāo)注的語義標(biāo)簽,為數(shù)據(jù)提供了無歧義的語言描述。