以Neo4j為代表的圖數(shù)據(jù)庫是以數(shù)學(xué)中的圖論為基礎(chǔ)實現(xiàn)的一種新型NoSQL數(shù)據(jù)庫,它通過節(jié)點和關(guān)系構(gòu)成一個圖結(jié)構(gòu),在此基礎(chǔ)上實現(xiàn)數(shù)據(jù)庫的所有特性,并用圖的形式表達數(shù)據(jù)與數(shù)據(jù)之間的關(guān)系。與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫相比,Neo4j更擅長海量數(shù)據(jù)之間的復(fù)雜關(guān)系分析,具有處理速度更快,表達形式更直觀、淺顯、簡單等諸多優(yōu)點,近年來被廣泛應(yīng)用于知識圖譜、社交網(wǎng)絡(luò)等領(lǐng)域。在政府采購及招投標審計過程中,審計人員往往需要對參與投標的企業(yè)與個人的背景,以及相互之間存在的關(guān)系進行審查分析,從而判斷是否存在圍標串標的行為疑點,圖數(shù)據(jù)庫能快速、方便地解決這個問題,而且分析結(jié)果直接以圖形等視覺化的效果呈現(xiàn),更加直觀。本文以某公立醫(yī)院設(shè)備采購為例,利用圖數(shù)據(jù)庫Neo4j的分析功能,通過構(gòu)建招投標網(wǎng)絡(luò)分析模型,介紹如何快速檢索出投標個人及企業(yè)間的關(guān)聯(lián)關(guān)系,從而快速鎖定疑點項目,為審計人員進一步核實調(diào)查提供明確的方向,以求達到“靶向抽檢項目、精確鎖定疑點”的效果。
在招投標領(lǐng)域,企業(yè)互相串通投標的情形較多,違法行為呈現(xiàn)出多樣化的形式?!吨腥A人民共和國招標投標法實施條例》第四十條和《中華人民共和國政府采購法實施條例》第十八條分別就投標人之間互相串通投標做出了判定標準和禁止性規(guī)定。根據(jù)上述兩條依據(jù),筆者提取出企業(yè)圍標串標行為的兩條線索特征:第一條是不同投標人委托同一單位或者個人辦理投標事宜;第二條是單位負責(zé)人為同一人或者存在直接控股、管理關(guān)系的不同供應(yīng)商參與同一合同項下的政府采購活動。
在第一條線索特征下,關(guān)注的是在投標過程中,遞交投標文件相關(guān)個人之間的關(guān)系,只要能證明參與某個項目的投標人中有兩個或者兩個以上從屬于一家單位即可判定該項目存在圍標串標的嫌疑;在第二條線索特征下,需要關(guān)注參與投標的企業(yè)間存在的控股與被控股關(guān)系,以及企業(yè)股東之間的重疊關(guān)系,找出兩家或兩家以上參與同一項目投標的企業(yè)間存在關(guān)聯(lián)關(guān)系或者股東存在重疊的情況,即可快速鎖定審計疑點。
利用圖數(shù)據(jù)庫Neo4j的分析功能,構(gòu)建招投標網(wǎng)絡(luò)分析,即可快速檢索出投標個人及企業(yè)間的關(guān)聯(lián)關(guān)系,從而鎖定疑點項目,為審計人員進一步核實調(diào)查提供明確的方向。
圖數(shù)據(jù)庫在招投標審計中的應(yīng)用,關(guān)鍵要明確網(wǎng)絡(luò)中的節(jié)點和關(guān)系。在招投標審計中,可以將招投標數(shù)據(jù)、企業(yè)工商登記信息、社保參保信息等多個行業(yè)進行管理,構(gòu)建以投標參與主體為核心的關(guān)系網(wǎng)絡(luò)進行大數(shù)據(jù)分析。
審計關(guān)注的主體即為圖數(shù)據(jù)庫的節(jié)點。在招投標及政府采購過程中,審計關(guān)注的主體即為參與投標的企業(yè)與個人。
審計主體之間的關(guān)系即為圖數(shù)據(jù)庫的關(guān)系。在招投標及政府采購過程中,審計需關(guān)注的關(guān)系主要是參與投標企業(yè)與個人之間存在的關(guān)系,通常有三類:一是個人與企業(yè)之間的從屬關(guān)系;二是企業(yè)與企業(yè)之間的控股與被控股關(guān)系;三是不同企業(yè)股東之間的重疊關(guān)系(即一人同時持股兩家或兩家以上企業(yè)的情況)。
采集的招投標數(shù)據(jù)、工商登記數(shù)據(jù)、社保參保信息等數(shù)據(jù),進行整理,可快速構(gòu)建出審計網(wǎng)絡(luò)分析模型,在此基礎(chǔ)上完成對數(shù)據(jù)的分析。
數(shù)據(jù)分析主要用到的信息如表1。
表1
確定好數(shù)據(jù)模型后,需要將采集的結(jié)構(gòu)化數(shù)據(jù)批量導(dǎo)入到Neo4j。Neo4j提供了兩種數(shù)據(jù)導(dǎo)入方法:一是將結(jié)構(gòu)化數(shù)據(jù)導(dǎo)出成csv格式的文件,然后使用Neo4j提供的Load CSV命令或者neo4j-import工具,將csv文件導(dǎo)入Neo4j;二是采用微云數(shù)聚(北京)科技有限公司(Neo4j中國代理)設(shè)計的導(dǎo)入精靈工具將數(shù)據(jù)導(dǎo)入(該工具支持excel和mysql兩種格式的數(shù)據(jù))。
對于零星數(shù)據(jù),可以直接采取Cypher語句的方式,直接創(chuàng)建節(jié)點和關(guān)系。具體語法格式如下。
(1)創(chuàng)建節(jié)點的語句:
這樣就創(chuàng)建了三個節(jié)點,{}里面的內(nèi)容代表每個節(jié)點的屬性。名為公司的節(jié)點,含有兩個屬性,分別是公司名稱為甲公司,注冊地為武漢市;設(shè)備節(jié)點的屬性是設(shè)備名稱為彩超,采購單位為甲醫(yī)院。審計中可以根據(jù)實際,對于節(jié)點賦予多個屬性。
(2)創(chuàng)建關(guān)系的語句:
在關(guān)系創(chuàng)建語句中,()里面的內(nèi)容代表的是節(jié)點的id,[]里面代表的是關(guān)系。通過箭頭運算符等,根據(jù)經(jīng)濟業(yè)務(wù)發(fā)生的順序,完成對各節(jié)點間關(guān)系的創(chuàng)建。例如:甲公司為張三繳納了社保,證明了兩者之間存在的勞動關(guān)系;張三代表甲公司于2013年1月1日參與了彩超(該彩超為甲醫(yī)院采購的)項目的投標。
根據(jù)審計需求,筆者選取少量的案例,使用Cypher語句直接將相關(guān)數(shù)據(jù)插入數(shù)據(jù)庫中,并構(gòu)建出關(guān)于醫(yī)療設(shè)備招投標的網(wǎng)絡(luò)分析模型。
Cypher語句:
最后構(gòu)建出的網(wǎng)絡(luò)分析模型如圖1所示。
圖1
Cypher語句:
如此得到的查詢結(jié)果如圖2所示。
圖2
從圖2可以看出,李四的社保由甲公司繳納,但在投標過程中代表了乙公司進行投標,且甲公司也參與了該項目的投標。隸屬于同一公司的不同個人分別代表不同的企業(yè)參與同一項目的投標,符合本文前面所述的線索一的特征,該項目存在圍標串標的嫌疑。
Cypher語句:
如此得到的查詢結(jié)果如圖3所示。
圖3
從圖3可以看出,王五同時持有甲公司和A公司的股份,這兩家公司同時參與了CT和彩超設(shè)備的投標。這說明兩項設(shè)備的招投標中,甲公司和A公司作為關(guān)聯(lián)公司,分別參加了項目的投標,符合本文前面所述的線索二的特征,存在圍標串標的嫌疑。
利用圖數(shù)據(jù)庫簡單、快捷的關(guān)系分析,審計人員可以將經(jīng)濟活動涉及的各類主體編織成一張數(shù)據(jù)“大網(wǎng)”,利用Cypher語句快速進行深度挖掘,揭示其中存在的某種特定關(guān)系。Neo4j不僅可以用于招投標項目的審計,還可用于公職人員經(jīng)商辦企業(yè)、違規(guī)享受財政補貼、民生資金優(yōu)親厚友等違紀違規(guī)問題線索核實方面。