劉 兵,徐建良
(中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
?
基于PROV的大洋樣品數(shù)據(jù)溯源
劉兵,徐建良
(中國海洋大學(xué) 信息科學(xué)與工程學(xué)院,山東 青島 266100)
PROV模型是W3C推薦的數(shù)據(jù)溯源模型,擁有豐富的語義詞匯和數(shù)據(jù)模型。結(jié)合大洋樣品領(lǐng)域知識,從溯源信息的描述、溯源信息的存儲和溯源信息的查詢?nèi)矫娼榻BPROV模型在大洋樣品領(lǐng)域的應(yīng)用過程和技術(shù)路線。
PROV;大洋樣品;數(shù)據(jù)溯源
引用格式:劉兵,徐建良. 基于PROV的大洋樣品數(shù)據(jù)溯源[J].微型機與應(yīng)用,2016,35(16):26-28.
大洋樣品館的主要職能為樣品的收集、整理、保存、分配,屬性數(shù)據(jù)提取[1],而為了能夠更好地實現(xiàn)信息化,為樣品管理工作提供更強大的信息支持,樣品館設(shè)計并開發(fā)了大洋樣品管理系統(tǒng),該系統(tǒng)主要負責(zé)對入館樣品從入館交接到樣品分配出庫之間的信息管理工作。
目前,隨著數(shù)據(jù)量的增加,以及對樣品信息可靠性要求的提高,管理系統(tǒng)漸漸暴露出一些問題,隨著樣品數(shù)據(jù)的變遷很難保證樣品信息的可靠性。這個問題隨著數(shù)據(jù)量與業(yè)務(wù)的不斷增長,變得愈發(fā)嚴(yán)重。
近幾年數(shù)據(jù)溯源技術(shù)的流行,為解決大洋樣品管理系統(tǒng)產(chǎn)生的問題提供了比較合適的解決方案。數(shù)據(jù)溯源的研究最早可追溯到20世紀(jì)90年代,它的名稱是從“data provenance”翻譯過來的,意思是對數(shù)據(jù)來源進行追蹤然后將數(shù)據(jù)的歷史狀態(tài)重現(xiàn)出來。
目前國內(nèi)數(shù)據(jù)溯源的研究還比較少,將數(shù)據(jù)溯源應(yīng)用到大洋樣品管理中的也較為少見。國外這方面的研究比較流行,數(shù)據(jù)溯源模型也很多,較為流行的有OPM模型和PROV模型。
PROV是一個由W3C定義的有關(guān)溯源的標(biāo)準(zhǔn)文檔集合(PROV Family),目前共由11個文檔組成,其中4個為推薦標(biāo)準(zhǔn),如圖1所示。
圖1 PROV標(biāo)準(zhǔn)家族文檔結(jié)構(gòu)
作為一個抽象模型,PROV并不針對具體的應(yīng)用環(huán)境,而只是對于各領(lǐng)域下數(shù)據(jù)起源過程的一般化表達[2]。因此,如果要將PROV應(yīng)用到特定的環(huán)境中,必須根據(jù)具體情況進行相應(yīng)的擴展,否則會帶來諸如語義不準(zhǔn)確等問題。
PROV數(shù)據(jù)模型(PROV-DM) 是PROV標(biāo)準(zhǔn)家族的核心,其為溯源數(shù)據(jù)的表述提供了通用的術(shù)語概念。PROV模型作為一個上層溯源模型獨立于具體領(lǐng)域,從抽象層次上描述了溯源過程,其核心包括實體(Entity)、活動(Activity)和代理(Agent)。
實體和實體間的變化和流動通過屬性prov:wasDerivedFrom來表示;實體和活動之間的關(guān)系有prov:used和prov:wasGeneratedBy,分別表示實體被活動所使用和實體由活動產(chǎn)生;活動和活動之間利用屬性prov:wasInformedBy表示時間次序關(guān)系;代理之間的關(guān)系使用prov:actedOnBehalfOf屬性表示;代理與實體存在的關(guān)聯(lián)使用屬性prov:wasAttributedTo表達;代理與活動的關(guān)聯(lián)使用屬性prov:wasAssociatedWit h表達[3]。這三個比較核心的概念及其相互關(guān)系如圖2所示。
圖2 PROV數(shù)據(jù)模型(PROV-DM)
PROV還包含了一個專門為數(shù)據(jù)模型而定義的比較輕量級的本體,即PROV-O[4]。PROV-O使用標(biāo)準(zhǔn)網(wǎng)絡(luò)本體語言O(shè)WL描述,支持PROV的數(shù)據(jù)模型向RDF映射[5]。PROV本體根據(jù)用戶的應(yīng)用需求分為三個級別,本文使用第一級別描述大洋樣品溯源信息。
2.1溯源信息描述
資源描述框架(Resource Description Framework, RDF)是用來描述網(wǎng)絡(luò)資源的W3C標(biāo)準(zhǔn),RDF事實上已成為PROV模型的標(biāo)準(zhǔn)描述方式[6]。
以樣品的分割活動為例,假設(shè)某科學(xué)家申請樣品A中的一部分,樣品管理員(Admin01)需要將樣品A(SampleA)分割成為樣品B(SampleB)與樣品C(SampleC)。假設(shè)上述樣品只存在樣品編碼(Coding)屬性。
該場景涉及樣品管理領(lǐng)域的多個概念,這些概念在PROV模型的基礎(chǔ)上用相應(yīng)的本體詞匯進行描述,該詞匯集在“http://www.cosr.or g.cn/mso#”命名空間下。
這些詞匯建立在PROV模型之上,是對PROV模型在本領(lǐng)域內(nèi)的擴展,這里只列舉出上文場景中出現(xiàn)的詞匯。上述樣品分割操作的RDF描述如下:
@prefix foaf:
@prefix prov:
@prefix :
:sampleA
a :Sample,prov:Entity;
prov:wasGeneratedBy: code01;
:Coding "1L4130126"^^xsd:string;.
:sampleB
a :Sample,prov:Entity;
prov:wasGeneratedBy:separate01;
:Coding "1L4130127"^^xsd:string; .
:sampleC
a :Sample,prov:Entity;
prov:wasGeneratedBy:separate01;
:Coding "1L41301268"^^xsd:string;.
:Admin01
a :Admin,foaf:Person,prov:Agent;
foaf:mbox
foaf:name"XiaoMing"; .
:separate01
a :Separate,prov:activity;
prov:used:sampleA;
prov:wasAssociatedWith :application01;
prov:wasAssociatedWith :Admin01;
prov:startedAtTime "20160105"^^xsd:dateTime;
prov:endedAtTime "20160105"^^xsd:dateTime;
2.2溯源信息存儲
在傳統(tǒng)PROV溯源系統(tǒng)中,一般直接使用RDF文件或者關(guān)系型數(shù)據(jù)庫存儲溯源數(shù)據(jù),文件存儲存在數(shù)據(jù)共享性差、獨立性差和冗余度大等缺點,關(guān)系型數(shù)據(jù)庫由于存在過于結(jié)構(gòu)化的特點,在數(shù)據(jù)庫擴展和存儲非結(jié)構(gòu)化數(shù)據(jù)時比較困難[7]。
BrightstarDB數(shù)據(jù)庫可以解決上面的問題,BrightstarDB是原生的基于.NET的用于存儲RDF所描述的三元組的非關(guān)系型數(shù)據(jù)庫,支持SPARQL查詢語法。利用BrightstarDB提供的API,可以方便地將描述存入數(shù)據(jù)庫。如下所示將一條三元組描述存入數(shù)據(jù)庫:
var addTriples = new StringBuilder();
//三元http://www.cosr.org.cn/mso/separate01是PROV活動
addTriples.AppendLine("http://www.cosr.org.cn/mso/separate01 http://www.w3.org/1999/02/22-rdf-syntax-ns/type http://www.w3.org/ns/prov/activity .");
//創(chuàng)建事務(wù)數(shù)據(jù)參數(shù)
var transactionData = new UpdateTransactionData { InsertData = addTriples };
//執(zhí)行事務(wù)
var jobInfo = client.ExecuteTransaction(storeName, transactionData);
2.3溯源信息查詢
SPARQL是W3C推薦的RDF查詢語言,SPARQL語言的RDF數(shù)據(jù)查詢實現(xiàn)原理是圖模式匹配[8],由于BrightstarDB支持SPARQL查詢語言,所以可以直接使用SPARQL對溯源信息進行查詢。
在大洋樣品溯源查詢中,假設(shè)已知樣品B的樣品編碼,要查詢出它的母樣品的編碼和執(zhí)行分割操作的管理員的姓名。圖3是該查詢的圖模式(查詢意圖)。
圖3 查詢母樣品編碼查詢意圖
圖中每條連線都是一條三元組陳述,用SPARQL語言實現(xiàn)代碼如下:
@prefix rdf:
@prefix foaf:
@prefix prov:
@prefix :
SELECT ?Coding ?name
WHERE {?B :Coding “1L4130127”;
prov:wasGeneratedBy ?AC .
?AC prov:used ?A ;
prov:wasAssociatedWith ?Admin .
?Admin rdf:type :Admin ;
foaf:name ?name .
?A:Coding ?Coding .
}
該語句的執(zhí)行結(jié)果如表1所示。
表1 查詢結(jié)果
隨著大洋領(lǐng)域業(yè)務(wù)量的增加和用戶需求的豐富,現(xiàn)行的大洋樣品管理系統(tǒng)在一定程度上已經(jīng)暴露出缺陷。本文通過對PROV模型的研究,將PROV模型應(yīng)用到大洋樣品管理領(lǐng)域,解決了大洋樣品衍生數(shù)據(jù)可靠性的問題,為以后大洋樣品管理系統(tǒng)升級提供技術(shù)支持。
[1] 杜林濤.大洋樣品倉庫信息化管理的研究[D].青島:中國海洋大學(xué),2013.
[2] 柯潔,董紅斌,梁意文,等. 基于PROV的ETL起源信息統(tǒng)一表達機制[J]. 四川大學(xué)學(xué)報(工程科學(xué)版),2015,47(5):126-130.
[3] LEBO T,SAHOO S,MCGUINNESS D, et al.Prov-O: The PROV ontology[EB/OL].(2013-XX-XX)[2016-03-30]http: / /www.w3.org /TR/2013 /REC- prov-o -20130430.
[4] MOREAU L,MISSIER P,BELHAJJAME K,et al.Prov-dm:the PROV data model[EB/OL].(2013-XX-XX)[2016-03-30]http://www.w3.org/TR/2013 /REC -prov -dm -20130430.
[5] LIU X,WANG C. Data with provenance: models and storage[J]. China Academic Journal Electronic Publishing House,2008,35(10): 187-191.
[6] 倪靜,孟憲學(xué).關(guān)聯(lián)數(shù)據(jù)環(huán)境下數(shù)據(jù)溯源描述語言的比較研究[J]. 現(xiàn)代圖書情報技,2013(2):18-23.
[7] 陳彥.應(yīng)用SPARQL進行RDF數(shù)據(jù)查詢[J].企業(yè)技術(shù)開發(fā),2007(7):6-10.
[8] 周邠林,趙麗敏,蔣薇.基于RFID的生豬溯源系統(tǒng)設(shè)計與實現(xiàn)[J].微型機與應(yīng)用,2014,33(10):83-85.
[9] 唐永瑞,張達敏. 基于Ajax與MVC模式的信息系統(tǒng)的研究與設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(2):75-78.
Traceability of ocean sample data based on PROV
Liu Bing,Xu Jianliang
(Institute of Information Science and Engineering, Ocean University of China, Qingdao 26610, China)
The PROV model is a data source model recommended by W3C, which has abundant semantic vocabulary and data model. This paper describes the application of PROV model in the field of ocean samples from the description of the traceability information and the storage of the traceability information to the query of traceability information.
PROV; ocean sample; data provenance
TP39
A
10.19358/j.issn.1674- 7720.2016.16.007
2016-03-30)
劉兵(1991-),男,碩士研究生,主要研究方向:軟件工程與智能信息系統(tǒng)。
徐建良(1969-),男,博士,教授,主要研究方向:計算復(fù)雜性理論、計算機軟件與理論。