Dependencies for Graphs 閱讀筆記
本文提出圖實體依賴關係(GEDs graph entity dependencies)
GED被定義為圖形模式和屬性依賴的組合
GEDs可以用常量文字來表示圖的函式依賴關係,以捕捉不一致,用帶有id文字的鍵來標識圖中的實體(頂點)
我們修改了對GEDs的追逐,並證明了它的教會-羅塞爾性質
我們刻畫了GED的可滿足性和蘊涵,並建立了這些問題的複雜性和GED的驗證問題,存在和不存在常量文字和id文字。
我們還開發了一個完善的、完整的、獨立的有限蘊涵幾何系統
我們用內建謂詞或析取來擴充套件GEDs,以在表達能力和複雜性之間取得平衡。
我們解決了這些擴充套件的可滿足性、蘊涵和驗證問題的複雜性
1、介紹
1.1、圖、圖模式以及匹配
此處的
Graphs. 圖G表示為其中:
V是一個有限的節點集合;E是一個有限的邊的集合,(v,ι,v′)表示從節點v到節點v'的邊,這條邊標記為 ι ,且; L表示節點的標籤,通過L(v)可以得到v的標籤,L(v)∈Γ;每個節點帶有一個元組,其中且,寫作和若則,而節點v攜帶的特殊屬性id表示其節點身份。
Graph patterns. 圖模式是一個有向圖其中:
是一個模式節點集合;是一個模式邊集合;是給和分配邊的對映;是不同變數的列表,每個變數表示中的一個節點
Matches. 使用來表示兩個標籤匹配,二者匹配需要滿足下面條件之一:(1)ι 和 ι′ 都是在 Γ,且ι = ι′ (2)ι′∈Γ 而 ι 是 ‘_ ’, 在Γ 中'_'可以用來表示任意邊
圖G中圖模式Q的匹配是用對映函式h( )使得對於屬於Q的節點v,h(v)找到G中的節點,且
匹配規則是:若(1)任意有 ;(2)Q中任意邊在G中存在邊使得,則同態h是圖G中模式Q的匹配,邊的匹配表示為
這的匹配規則大致為要求模式Q和圖G的節點有相同的標籤,有相同標籤的節點之間的邊也得有相同的標籤,即若v1和v2屬於模式Q,且標籤分別為 a,b,v1與v2之間的連線標籤為c,則h(v1),h(v2)的標籤也得是a,b,它倆之間的連線的標籤也得是c,否則它倆就不匹配
文字使用的是同態對映,跟Functional Dependencies for Graphs使用的同構對映不同。
1.2、圖實體依賴
圖實體依賴φ被定義為,其中是一個圖形模式;X和Y是的兩個文字集,也就是說X和Y包含於;我們稱為φ的模式,稱為φ的函式依賴;
對於文字集中的文字x,y有:1、常量文字x.A = c,其中c是U中的一個常量,A是ϒ中的一個屬性但不是id; 2、變數文字x.A = y.B,其中A和B是ϒ中的屬性,但不是id; 3、id文字 x=id = y=.id
例1、,結合Q1圖,若X1由單個常數字x.type=“video game”,Y1由單個常量字y.type = “programmer”組成,這表示電子遊戲只能由程式設計師創造。
,結合Q2圖,可以看出,若一個國家有兩個首都y,z,則y和z的名字必須相同。
,結合Q3圖,可以看出A是x的一個屬性,而若x由一個屬性A,則y也用屬性A。
,結合Q4圖,GED宣告圖形模式Q4是“不合法的”,沒有人可以同時是另一個人的孩子和父母
GED的語義解釋:
若 (a) 當a 是x.A=c則v.A存在於節點v = h(x),並且h(x).A=c;這個可以解釋為,當模式Q的欄位x.A=c,而在圖G中找到一個節點h(x),這個節點也有屬性A,並且屬性A也等於c
(b) 當a 是x.A=y.B,則屬性A和屬性B分別存在節點v=h(x)和w=h(y),且v.A = w.B;可理解為在G中找到兩個結點與x,y對應,這兩個節點也滿足h(x).A = h(y).B
和 (c)當 a是x.id=y.id 則h(x)和h(y) 指的是同一個節點,我們就說a,表示滿足a. 可理解為在G中找到兩個節點,滿足h(x).id=h(y).id,那麼這兩個節點其實是同一個節點。
當滿足X中的所有欄位時,可以表示為.
若蘊含時,可以表示為
若G中Q的所有的匹配有則表示為G |= φ。 而當Σ中所有的GED φ都是G |= φ,則G |=Σ。
對於,對於欄位x.A = c,h(x)可以沒有屬性A,依舊成立,因為當h(x)可以沒有屬性A時,不成立,則根據蘊含公式為假,則為真。
而若欄位x.A=c,h(x)中有屬性A並且h(x).A = c,則h(y)也必須有屬性A使得h(y)=c,不然的話就不成立。跟蘊含性質一樣,前面為真,則後面必須為真。
使用圖的鍵GKey來表示形式為的GED,其中由和組成,是同構f : 的一個拷貝,和是不相交的;由和;和是Q中指定的節點;X 可以看作有和組成的交集,可以是常量欄位、變數欄位或id欄位。
例如:就是三個GKey。X5由x.title = y.title和x′.id = y′.id組成;X6由x.title = y.title和x.release = y.release組成;X7由x′.name = y′.name和x.id = y.id組成;
看到這了,可能有人想問,為什麼要用同態,而不用同構呢?Functional Dependencies for Graphs這篇論文中同構感覺要容易讀懂一些,那麼為什麼要用同態呢?
我們假設之前的現在使用同構,那麼同構h用於模式Q5的節點x,y找到圖中的h(x'),h(y')是兩個節點,且名字不一樣x′.name 不等於 y′.name,則,由上可知滿足,但是顯然其並不滿足 ,所以如果使用同構的話,永遠都能滿足φ,因此選擇了同態。
下圖是本文主要使用的符號表:
2、CHASE介紹
2.1 為GEDs修改chase
在介紹等價關係前,需要介紹一下一些新的概念:
給定圖G = (V,E,L,FA),有限的GEDs集合Σ
Equivalence relations.即等價關係
1、對於x ∈ V, 它的等價類表示為,這個等價類是被識別為x的y的集合,y ∈ V。
2、若x.A=y.B且x.A=c被Σ中的GED強制執行,則對於x的每個屬性x.A,它的等價類是屬性y.B和常數c的集合。
上述等價關係定義2可以理解為,若被GED識別為x的y有兩個G的節點y1和y2,則={x,y1,y2},而若x.A=y.B=c被GED強制執行,則x.A的等價類={x.A,y1.B,y2.B,c}
這種等價關係是自反、傳遞、對稱的,使得:
1、若節點y∈,則節點x∈,且=;所以可以將二者合併,這個很好理解,還是跟上面紅字一樣,x的等價類是x,y1,y2,則y1的等價類也是x,y1,y2;類似的若對於屬性y.B∈,則我們有,很容易看出y.B和x.A的等價類都是{x.A,y.B,c}
2、若存在屬性y.B使得y.B∈和y.B∈ ,則 = ,類似的若c∈ 且c∈則二者相等。
3、若節點y∈且y∈,則和相等。
4、若節點y∈,則對於y的每個屬性y.B有
一致性
若存在節點y∈使得L(x) L(y)且L(y)L(x) ,則我們稱之為標籤衝突
若存在y.B∈使得x.A=c且y.B=d,c!=d,則我們稱之為屬性衝突。
當存在標籤衝突或屬性衝突時,等價關係Eq在圖G上是不一致的。否則就是一致的
Coercion 強制
對於屬於V的每個節點x,把G上一致Eq的強制定義為圖其中:
V ' 是的集合,用來表示,這個是一個節點,也就是說使用這麼個節點來表示這個集合,將被識別為相同的節點表示為同一個節點。
E ′ 是邊的集合,也就是說,因為別識別為相同的節點已經被整合成同一個節點了,那麼它們的邊也應該整合成同一條邊。
若中所有的節點都被標記為_,則也是_ , 不然的話,其中,當Eq是一致時,標籤就相等,則這些標籤融合之後還是名字相同的一個標籤,這對應一致性問題的(label conflict)
,就是將別識別為相同節點的屬性關係取並集,當Eq一致時,這些屬性關係取並集就還是一個,比如x.A=c , y.A=c,那麼並集之後就是x.A=c,這對應一致性問題的(attribute conflict).
chase
以初試等價關係Eq0開始,Eq0由和組成,其中每個節點x都屬於V,每個屬性x.A=c都屬於FA(x);
通過來對chase進行更新,其中是一個Σ的GED;是圖G上Eq的coercion 中模式Q的匹配,使得:
(a),(b)Eq′ 跟通過增加一個欄位 m(m ∈ Y)來擴充套件Eq是等價關係,而 y 和Eq‘ 滿足以下關係之一:
(1)如果m是x.A=c且,則Eq'擴充Eq通過 (a)若h(x).A不在Eq中,包含一個新的等價關係類,(b)往裡新增c
(2)如果m是x.A=y.B且,則Eq'擴充Eq通過(a)若h(x).A不在Eq中就是新增 (b)往新增h(y).B
(3)如果m是x.id=y.id且,則Eq'擴充Eq通過新增h(y)到
以上過程需要重複
(1)當沒有GEDs用來擴張ρ,就結束迭代,這種情況,就說ρ是有效的且ρ=。且很容易驗證在中是不一致的
(2)當一開始就不一致,或者迭代到,但是在中是不一致的,這些情況就直接使用禁止約束結束迭代,而ρ是無效的,結果用⊥表示。
例1、考慮圖G中v1.A=v2.A=1 ,有和,={ ,},h1為x → v1 ,h2為y→ v2,h已經滿足了X,由上述規則可知,m是x.id=y.id,h(x)=v1, 則={v1},={v2},明顯v2不在裡面,所以往裡面新增v2,得到,所以v1和v2被識別為兩個相同的節點,則就會把兩個節點合併成一個,邊也合併了。
考慮其中和,而,h已經滿足了X(應該X為空集),由上述規則可知,m是y.id=z.id,h(y)=v1' ,={v1'},明顯v2'不在中,則往新增v2',得到,所以v1'和v2'被識別為兩個相同的節點,coercion G2就是將兩個節點合併得到的結果。
因為已經沒了GED可以用來更新
2.2 chase的Church Rosser性質
本節證明了使用GEDs進行chase擁有如下的性質:
1、用GEDs chase是有限的,如果對於GEDs的所有集合Σ和所有圖G,G被Σ chase的序列都是有限的。
2、如果對於所有的Σ和G,對於G中使用Σ進行chase的所有的終止chasing序列,不管GEDs的順序如何都產生了相同的結果。也就是說要麼全都產生相同的結果,要麼結果是⊥。滿足這種情況,我們就說GEDs chase具有Church Rosser性質。
3、如果存在一個有效的由Σ引起的終端chase序列,結果為,那麼。
定理1、用GEDs追是有限的,且Church-Rosser性質。此外,對於任意一組GEDs集合Σ和圖G,如果Σ存在一個有效的G的末端追蹤序列,那麼,其中是最終結果。也可以用chase(G,Σ)來表示最終的結果。
3 關於GEDS的推理
3.1 可滿足問題
Σ的一個模型是一個圖G,這個圖G有:1、G |= Σ ; 2、每一個Σ 中的,Q在G中有一個匹配。
如果Σ有模型,那麼σ中的ged是明智的,不會相互衝突。因此,我們可以應用這些GEDs,而不用擔心它們之間的衝突。而可滿足性問題就是研究當輸入為一個有限的GEDs集合Σ 時,是否會有輸出 Σ的一個模型?如果存在,則 Σ是可滿足的,不然就是不可滿足的。可滿足性問題只要求Σ中的每個模式Q在圖G中都有一個匹配,而這些匹配不一定是不相交的。
考慮一組GEDs的集合Σ,Σ的標準圖可定義為,分別是Vi,Ei,Li的聯合,則為空
定理2、當且僅當chase(,Σ)一致時,一個GEDs集合Σ是可滿足的。
定理3、對於GEDs、GFDs、GKeys和GEDxs,可滿足性問題是是coNP-complete;對於GFDxs 可滿足問題是O(1)時間內完成的
引理1、對於具有樹型模式的GFDs來說,可滿足性問題是coNP-hard的。
3.2 蘊含問題
一個GEDs集合Σ蘊含另一個GED φ,可表示為Σ |= φ,對於所有的圖G,如果G | =Σ,那麼G |= φ。當G是有限的時,我們考慮有限蘊涵。蘊含分析有助於我們在實踐中優化資料質量規則和圖形模式查詢
GFEs的蘊含問題是以一個有限的GEDs集合Σ 和一個GED φ為輸入,輸出是否Σ |= φ
定理4、對於一個GEDs集合考慮一組GEDs Σ和一個GED φ =,當且僅當(1)不一致時或(2)一致且Y可以從中推匯出時,Σ |= φ
引理2、對於圖G和G中Q的匹配,如果G |= Σ且則
引理3、當是一致時,當且僅當對於任何圖G和G中Q的任何匹配h,若則,我們說Y可以從中推匯出
定理5、GEDs, GFDs, GKeys, GFDxs、GEDxs的蘊含問題是NP-complete,有樹模式的GEDs, GFDs, GKeys, GFDxs, GEDxs他們的問題任然是NP-hard
3.3 驗證問題
驗證問題是以一個GEDs的集合Σ和圖G為輸入,輸出是否G |= Σ。
定理6、對於GEDs,GFDs,GKeys,GFDxs、GeDx,驗證問題是coNP-complete。即使給定的圖G是一棵樹,對於有樹模式的GEDs、GFDs、GKeys、GFDxs、GEDxs來說,這個問題仍然是coNP-hard。
4、GEDs的擴充
4.1、圖的拒絕約束(Denial Constraints for Graphs)
用內建的謂詞擴充套件GEDs,稱為圖拒絕約束,用GDC(Graphs Denial Constraints)表示。
圖拒絕約束GDC ϕ被定義為,其中Q是一個模式;X和Y是以下形式的欄位集合:1、 x.A ⊕ c。2、x.A ⊕y.B,c是常量,A,B是非id屬性。3、x.id = y.id。 ⊕ 是內建謂詞 =,, <, >,≤,≥.之一。
可以看出來,當謂詞⊕僅為=時,GEDs成了GDCs的特殊情況。GDCs的應用如下:
例 、拒絕約束可用於強制域約束和捕獲垃圾郵件。們可以將“域約束”表示為gdc,強制“型別”τ的每個節點具有一個有限域(如布林值)的屬性,如下所示:
和
ϕ1強迫節點x必須有屬性A; ϕ2表示必須為假,即x.A=0 合取 x.A=1;
,其中X8由x′.is_fake=1, z1.keyword=c, z2.keyword=c,(對任意i不等於j)組成;Y8由x.is_fake=1組成。
這個表示賬戶x'釋出的部落格z1包含關鍵字c,x釋出的部落格也包含關鍵字c,若x'被確定是假的,那麼x也是假的。
定理7 、GDCs的可滿足性問題、蘊含問題、驗證問題分別是、、
相關文章
- Keys for graphs閱讀筆記筆記
- 閱讀筆記-MoFlow: An Invertible Flow Model for Generating Molecular Graphs筆記
- 閱讀筆記筆記
- 閱讀筆記4筆記
- 閱讀筆記3筆記
- 閱讀筆記5筆記
- 【閱讀筆記:字典】筆記
- 閱讀筆記2筆記
- 閱讀筆記1筆記
- 閱讀筆記8筆記
- 閱讀筆記03筆記
- 閱讀筆記02筆記
- 閱讀筆記7筆記
- gdbOF閱讀筆記筆記
- GoogleNet閱讀筆記Go筆記
- 論文閱讀 Inductive Representation Learning on Temporal Graphs
- JDK原始碼閱讀:String類閱讀筆記JDK原始碼筆記
- JDK原始碼閱讀:Object類閱讀筆記JDK原始碼Object筆記
- SiamRPN++閱讀筆記筆記
- Flownet 2.0 閱讀筆記筆記
- 《Clean Code》閱讀筆記筆記
- 《潮騷》閱讀筆記Ⅱ筆記
- 閱讀影片方法筆記筆記
- JDK原始碼閱讀(7):ConcurrentHashMap類閱讀筆記JDK原始碼HashMap筆記
- JDK原始碼閱讀(5):HashTable類閱讀筆記JDK原始碼筆記
- JDK原始碼閱讀(4):HashMap類閱讀筆記JDK原始碼HashMap筆記
- 論文閱讀 TEMPORAL GRAPH NETWORKS FOR DEEP LEARNING ON DYNAMIC GRAPHS
- 《Effective DevOps》閱讀筆記 82dev筆記
- Koa 原始碼閱讀筆記原始碼筆記
- 《Effective DevOps》閱讀筆記 59dev筆記
- 《Effective DevOps》閱讀筆記 19dev筆記
- MapReduce 論文閱讀筆記筆記
- The Data Warehouse Toolkit 閱讀筆記筆記
- CopyOnWriteArrayList原始碼閱讀筆記原始碼筆記
- ArrayList原始碼閱讀筆記原始碼筆記
- LinkedList原始碼閱讀筆記原始碼筆記
- 《影響力》閱讀筆記筆記
- 《人月神話》閱讀筆記筆記