scieee Open visual document viewer

Generalized Graph Pattern Matching

Almagro Blanco, Pedro; Sancho Caparrini, Fernando

Full text

Gene alized G aph Pa e n Ma ching Ped o Almag o-Blanco and Fe nando Sancho-Capa ini Augus 15, 2017 1 In oduc ion G aphs a e high exp essi e models and especially sui able o modelling highly complex s uc u es, he numbe o applica ions ha use hem o modelling bo h hei da a and he p ocesses ha manipula e has g own d ama ically in ecen yea s. The use o new concep ual s uc u es in eal-wo ld applica ions equi es he de elopmen o new sys ems o s o e and que y such s uc u es in o de o allow use s o access da a e ec i ely and e icien ly. As wi h all new echnologies, i is s ill in he de elopmen phase and in sea ch o a se o s anda ds ensu ing a con inued g ow h. The g owing popula i y o G aph Da abases has led o he eme gence o in e es ing p oblems ela ed o s o age and que y in hese sys ems. These da abases ha e obus undamen als in e ms o basic in o ma ion managemen (c ea ion, access, dele ion, and modi ica ion o indi idual elemen s o he s uc- u e), bu hey lack s anda ds in some o he asks necessa y o he s o age and e ie al o in o ma ion, like hose ela ed o mo e ad anced que y mechanisms. Among he p oblems ela ed o hese que y p ocesses, he de ec ion o pa - e ns is conside ed as one o he undamen al ones since i includes o he sub- p oblems necessa y o ob ain powe ul que y sys ems, such as he sea ch o subg aphs o minimum pa hs, o he s udy o connec i i y [18, 10]. In his pape we p esen Gene alized G aph Que y (GGQ), a p oposal o ca y ou que ies in p ope y g aphs. GGQ ep esen s a obus logical ame- wo k, making i especially use ul in g aph disco e y p ocedu es and gene alizing o he mo e basic ools ha ha e been p o ed e y use ul on ela ed asks. In addi ion, we will p esen a collec ion o ope a ions ha allow o ob ain complex GGQs om simple ones, some hing e y use ul when au oma ing he cons uc- ion o complex que ies. 2 G aph Pa e n Ma ching G aph Pa e n Ma ching is an ac i e esea ch a ea since mo e han 30 yea s and i s use ulness has been demons a ed in many a eas, om a i icial ision, o biology, h ough elec onics, compu e -aided design, and analysis o social ne wo ks, among o he s. Undoub edly, i s in e es has g own e en mo e as g aph da abases has become a ool o s uc u ing and s o ing in o ma ion in a ans e sal way in all a eas o knowledge. Fo his eason, he p oblem o g aph pa e n ma ching expands, wi h sligh a ian s, ac oss di e en scien i ic 1 communi ies, showing ha is no a single p oblem de ined unde a common o maliza ion, bu a se o ela ed p oblems. The p ocess by which we check he p esence o a pa icula pa e n in a pa icula se o da a is called pa e n de ec ion, and compu a ionally ep esen s he se o mechanical p ocesses ha allow o e u n one (o all) he occu ences o he pa e n. The de ini ion o wha is mean by an occu ence o a pa e n in a g aph a ies acco ding o how he pa e n is de ined. When i is gi en by a g aph s uc u e (al hough no necessa ily using he same elemen a y se s o e ices and edges as he g aph on which he que y is made) i is usual o associa e he occu ence wi h he exis ence o iden i ica ions (pe haps no as s ong as isomo phisms) be ween he pa e n and hose subg aphs in he da a ha espec some imposed cons ain s [6]. Some classi ica ions ha we can p esen in e ms o he di e en possible ways o ca y ou he de ec ion o pa e ns in g aphs a e: (a) S uc u al s. Seman ic, (b) Exac s. Inexac , and (c) Op imal s. Ap oxima e [9]. One o he classi ica ion akes in o accoun he ela ion o be me by he pa e n ega ding o he subg aphs ha a e conside ed i s occu ences. I allows o di ide he di e en echniques o g aph pa e n ma ching in hose based on Isomo phisms (an occu ence will be any subg aph ha is isomo phic o he pa e n), G aph Simula ion [13] (an occu ence will be any subg aph o which he e is a bina y ela ion be ween he elemen s o he subg aph and he pa e n which espec s he ypes o he nodes and hei adjacencies), Bounded Simula ion [8, 18, 13] (based on G aph Simula ion bu allowing o associa e pa e n edges o pa hs) and Regula Pa e n Ma ching [7, 15, 4, 13] (Bounded Simula ion wi h egula exp essions o pa e n edges). Cu en ools ha allow que ying pa e ns in g aphs use ei he a decla a i e language (such as Cyphe , SPARQL, o SQL), o an impe a i e language (wi h G emlin as he clea es ep esen a i e). In he case o decla a i e languages, i is esponsibili y o he sys em (ideally) o pe o m que ies op imiza ion. In he case o impe a i e languages, he execu ion plan is esponsibili y o he use , so hey usually p o ide lowe le el app oxima ions. Nex , we b ie ly p esen some que y languages ha ha e been used o g aph pa e n ma ching. SQL (S uc u ed Que y Language) is a decla a i e language o accessing Rela ional Da abase Managemen Sys ems (RDBMS). These ypes o da abases we e designed o abula da a wi h a ixed schema, and wo k bes in con ex s ha a e well de ined om he beginning and whe e he eco ds hemsel es a e mo e impo an han he ela ionships be ween hem. Fo his eason, ying o answe ques ions in ol ing many ela ionships be ween da a (as is usual in g aph pa e n que ies) wi h a ela ional da abase in ol es nume ous and cos ly ope a ions be ween ables, ha may become his op ion in ac able. In spi e o his, SQL has he exp essi e capaci y necessa y o be able o exp ess mos o g aph pa e n que ies, and because ela ional da abases ha e been he s o age op ion chosen by mos p ojec s o decades, he i s g aph pa e n que y sys ems used SQL que ies, such as Selec ion G aphs ha we will see la e . SPARQL is a decla a i e que y language o da a s o ed in RDF o ma [16] and is ecognized as a key echnology o he Seman ic Web, i s exp essi e abili y o pe o m g aph pa e n ma ching is supe io o ha p o ided by SQL, bu is s ill no in ui i e o a human use . SPARQL allows s uc u al, seman ic, 2 op imal, and exac que ies based on subg aph isomo phism. Al hough SPARQL does no allow o any ype o G aph Simula ion o Regula Pa e n Ma ching, language ex ensions such as PSPARQL [3] ha e been de eloped o que y RDF da abases using pa e ns ha make use o egula exp essions. Thanks o he s uc u e o he language, i is ela i ely easy o gene a e au oma ic que ies in SPARQL and he e a e ools ha use i as a inal que y language. G emlin is, a he same ime, a que y language o da abases and a g aph o ien ed compu a ion sys em. As a language, G emlin is independen o he unde lying da abase. I s syn ax allows o decla a i e and impe a i e que ies, and easily exp ess complex que ies on g aphs. Each que y consis s o a sequence o s eps ha pe o m a omic ope a ions on he da a s eam. G emlin allows seman ic, exac , op imal que ies and is based on subg aph isomo phism. I is possible o design o he que y languages o compile o G emlin language (eg, SPARQL can be compiled o un on G emlin 1). Selec ion G aphs a e mul i- ela ional pa e ns o exp ess SQL based que ies. They ep esen he ounda ion o he mul i- ela ional decision ee induc ion al- go i hm MRDTL [12] as well as o he mul i- ela ional au oma ic lea ning algo- i hms [14]. The pu pose o selec ion g aphs is o be used in op-down disco e y p ocedu es [11], hus ope a o s o modi y hem h ough small changes a e p o- ided ha allow he cons uc ion o complex que ies in successi e s eps. As a coun e pa , hey ha e he disad an age ha hese cons uc ions can no con- ain cycles, limi ing he exp essi eness o que ies. Selec ion g aphs ep esen an exac , op imal ype o g aph pa e n ma ching based on seman ic g aph isomo - phism. In addi ion, being a g aphical ep esen a ion o SQL que ies, hey inhe i he e iciency p oblems p esen ed by he sys ems based on his echnology. The new p oposal we show in hese pages can be conside ed as a gene aliza ion o some o he ideas ha p omo ed his p e ious app oach, a oiding some o hei limi a ions. Cyphe is a decla a i e que y language speci ically de eloped o wo k on Neo4j g aph da abase 2. Cyphe is designed o be a human- iendly que y lan- guage, close o bo h de elope s and end use s. Que y pa e ns in g aphs ha a e usually ha d o exp ess in o he languages a e e y simple in Cyphe [2], showing a high exp essi e capaci y [1]. Neo4j da abase closely ollows he p op- e y g aph model, bu o ces he edges o be yped. Unlike G emlin, Cyphe is no Tu ing comple e, so i has some limi a ions, and i is highe le el. Simple Cyphe que ies ha e good pe o mance, bu when que ies ollow complex pa - e ns hey can lead o a wo s pe o mance since i does no allow o indica e he applica ion o de o he di e en condi ions. Cyphe allows s uc u al and seman ic, op imal, exac , and based on subg aph isomo phism que ies. In ad- di ion, i allows a ype o Regula Pa e n Ma ching in which he edges in he pa e n a e p ojec ed on o pa hs o he g aph, and whe e cons ain s can be imposed h ough exp essions ha make use o he disjunc ion ope a o and he closu e o Kleene. One limi a ion om he academic poin o iew is ha i lacks an associa ed o mal model, and some o i s ope a ions ha e no ye been alida ed. Despi e his, because o i s excellen exp essi eness and accep able pe o mance, and because i consumes he da a om a g aph da abase wi h a widesp ead use, Cyphe has been he elec ion o implemen he es s o GGQ. 1h ps://gi hub.com/dkuppi z/spa ql-g emlin 2h p://neo4j.o g 3 Some o he ools ela ed o g aph pa e n ma ching a e: G aphLog [5], ha allows o s uc u e he que ies as g aphs and e alua es he exis ence o pa e ns be ween a pai o nodes o gene a e a new edge be ween hem; G aphQL 3, a decla a i e que y language de eloped by Facebook o allow ex e nal applica ions o access i s in o ma ion; G aql 4, a decla a i e que y language o ien ed o knowledge g aphs; and GGQL [17], a SQL ex ension wi h addi ional g aph pa e n ma ching ools (analysis o accessibili y be ween nodes, de ini ion o pa hs, o cons uc ion o g aphs). 3 P elimina ies Gi en a se V, we deno e: V0=∅, V 1=V, V n+1 =Vn×V, V ∗=[ n≥0 Vn In gene al, we call sequences o lis s he elemen s in V∗. I x∈Vn hen we say ha xhas leng h n, and we w i e |x|=n. I x= (a1, . . . , an), y = (b1, . . . , bm)∈V∗, hen he conca ena ion o xand yis he elemen o V∗gi en by xy = (a1, . . . , an, b1, . . . ,bm). Fo each x= (a1, . . . , an)∈Vn, we call suppo se o x o s(x) = {ai: 1 ≤ i≤n}. We w i e a∈x o indica e ha a∈s(x). Fo each a∈V, we deno e |a|x= #{i:xi=a}(whe e #(A) is he ca dinal o he se A), and we call mul i-suppo o x o he se o pai s ms(x) = {(a, |a|x) : a∈x}. We de ine he ela ion ∼, which can be easily p o ed o be equi alence in Vn, as: x∼yi and only i ms(x) = ms(y) And deno e by Vn ∼=Vn/∼(se quo ien o Vnunde ∼). Ou in e p e a ion o hese se s will be ha Vndeno es he se o o de ed uples o V,Vn ∼deno es he se o uno de ed uples o he same se (ie uples in which elemen s a e impo an , conside ing he possible epe i ions, bu no he o de in which hey appea ). Nex , we p esen he Gene alized G aph, ha co e s he di e en a ian s o g aph ha can be ound in he li e a u e and ha we will need when p esen ing ou p oposal o p ope y g aph pa e n ma ching ool. De ini ion 1. AGene alized G aph is a uple G= (V, E, µ)whe e: •Vand Ea e se s, called, espec i ely, se o nodes and se o edges o G. •µis a ela ion (usually we will conside i unc ional, bu no necessa ily) ha associa es each node o edge in he g aph wi h i s se o p ope ies, ha is, µ: (V∪E)×R→S, whe e R ep esen s he se o possible keys o hese p ope ies, and S he se o possible alues associa ed. Usually, o each α∈Rand x∈V∪E, we w i e α(x) = µ(x, α). In addi ion, we equi e he exis ence o a special key o he edges o he g aph, which we call incidences and deno e by γ, which associa es o each edge o he g aph a uple, o de ed o no , o e ices o he g aph. 3h p://g aphql.o g/ 4h ps://g akn.ai 4 Al hough he de ini ion ha we ha e p esen ed he e is mo e gene al han hose ha can be ound in he ela ed li e a u e, we will also call hem P ope y G aphs, since hey suppose a na u al ex ension o his ype o g aphs. I should be no ed ha in gene alized g aphs, unlike adi ional de ini ions, he elemen s in Ea e symbols ep esen ing he edges, and no pai s o elemen s om V, and γis he unc ion ha associa es o each edge he se o e ices ha i connec s. De ini ion 2 (No a ion and de ini ions).In he con ex o he abo e de ini ions, we use he ollowing no a ion: •We usually iden i y ewi h γ(e). Thus, we in e p e he edge as he collec- ion o nodes ha connec s, as classic de ini ions o g aphs. •Symme ically, o e e y u∈Vwe w i e γ(u) = {e∈E:u∈e}. In gene al, a gene alized g aph may ha e a combina ion o di ec ed and non- di ec ed edges. I γ:E→V∗we say G o be Di ec ed (No Di ec ed, o he wise). •Fo each e∈E, we de ine he a i y o eas Pa∈e|a|e. •I γ:E→V2∪V2 ∼we say ha he g aph is Bina y (and i ma ches he mos usual g aph s uc u e). O he wise, he g aph is a Hype g aph. •An edge, e∈E, is said o be a loop i i connec s a node o i sel , ha is, i i has a i y o he han 1 bu s(e)is uni a y. •An edge, e∈E, is said o be inciden on a node, ∈V, i ∈e. •Two dis inc nodes, u, ∈Va e called adjacen , o neighbo s, in G= (V, E, µ)i he e exis s e∈Esuch ha {u, } ⊆ e. •I he e a e di e en edges in Ewi h he same incidence, ha is, edges connec ing he same nodes, we will say ha he g aph is a Mul i-g aph. •I eis a di ec ed bina y edge connec ing u o ,e= (u, ), we w i e ue → , and we also deno e eo=u(ou pu o e) y ei= (inpu o e). In his case, o each u∈Vwe w i e: γo(u) = {e∈γ(u) : eo=u} γi(u) = {e∈γ(u) : ei=u} which espec i ely deno e he se s o ou going edges and incoming edges o u. •Gi en u∈V, we de ine he en i onmen o uin Gas he se o nodes, including u, ha a e connec ed o i , i.e.: N(u) = Se∈γ(u)γ(e). When necessa y, we will use he educed en i onmen o u,N∗(u) = N(u) u. The no ion o subg aph is ob ained om he usual de ini ion by imposing ha he p ope ies a e also main ained in he common elemen s. De ini ion 3. A subg aph o a g aph G= (V, E, µ)is a g aph S= (VS, ES, µS) such ha VS⊆Vand ES⊆Eand µS⊆µ|VS∪ES. We deno e S⊆G. 5 A undamen al concep when wo king wi h g aphs is he concep o pa h, which allows he s udy o dis ance ela ionships and connec i i y condi ions be ween di e en elemen s, ex ending he connec i i y allowed by edges o mo e gene al si ua ions. As gene alized g aphs a e conside ably mo e gene al han he usual ones we should gi e some no ions abou he posi ion o a node in an edge: De ini ion 4. I e∈Eand γ(e)=( 1, . . . , n)∈Vn, hen o each i∈s(e) we de ine i s o de in eas o de( i) = i. I e∈Vn ∼, hen o each ∈s(e)we de ine o de( )=0. We deno e u≤e o indica e ha o de(u)≤o de( ). F om his ela ion o o de be ween he nodes ha an edge connec s, we can de ine wha we mean by a pa h in a g aph. De ini ion 5. Gi en a g aph G= (V, E, µ), he se o pa hs in G, deno ed by PG, is de ined as he minimal se e i ying: 1. I e∈E,u, ∈ewi h u≤e , hen ρ=ue → ∈ PG, and sopV(ρ) = (u, ),sopE(ρ)=(e). We will say ha ρconnec s he nodes uand o G, and we will deno e i by uρ . 2. I ρ1, ρ2∈ PG, wi h uρ1 , ρ2 w, hen ρ1·ρ2∈ PG, wi h uρ1·ρ2 w, sopV(ρ1·ρ2) = sopV(ρ1)sopV(ρ2),sopE(ρ1·ρ2) = sopE(ρ1)sopE(ρ2). When u= we say ha ρis a closed pa h, and i he e a e no epea ed edges in ρwe say ha i is a cycle. I ρ∈ PG, wi h sopV(ρ) = (u1, . . . , un+1) and sopE(ρ) = (e1. . . , en), hen we w i e: ρ=u1 e1 →u2 e2 →. . . en →un+1 Gene ally we will w i e u∈ρ o exp ess ha u∈sopV(ρ), and e∈ρ o exp ess ha e∈sopE(ρ). Rema k. •Following a simila no a ion o he case o di ec ed bina y edges, i ρ∈ P(G)and uρ , hen we w i e ρo=uand ρi= . •When necessa y, we deno e he pa hs h ough u, s a ing in u, and ending in u, espec i ely, by: Pu(G) = {ρ∈ P(G) : u∈ρ} Po u(G) = {ρ∈ P(G) : ρo=u} Pi u(G) = {ρ∈ P(G) : ρi=u} 6 4 Gene alized G aph Que y Nex , we p esen Gene alized G aph Que y (GGQ, o sho ), ou p oposal o pe o m g aph pa e n ma ching on gene alized g aphs. Taking in o accoun he di e en classi ica ions men ioned abo e, we can say ha his p oposal al- lows o ca y ou s uc u al and seman ic, exac , op imal, and based on a ype o Regula Pa e n Ma ching que ies, allowing he edges o he pa e n o be p ojec ed on pa hs (no necessa ily edges). Also, GGQ allows o exp ess mo e complex cons ain s on each elemen o he pa e n and pe o m cyclic que ies. One o he cha ac e is ics ha we pu sue o ou ool is o p o ide a mech- anism o ob ain complemen a y pa e ns o a gi en one. This means ha i a s uc u e does no e i y a pa e n i mus always e i y one o i s complemen- a y pa e ns. As we ha e seen in p e ious sec ion, many o he ools de eloped o pe o m que ies o pa e ns in g aphs equi e o a p ojec ion o be ul illed be ween he pa e n and he s uc u e o be e alua ed. This p ojec ion p e en s us om e alua ing he non exis ence o elemen s, some hing ha we will need o gene a e hese complemen a y pa e ns, o his eason ou p oposed ma ch- ing sys em will no make use o p ojec ions, bu is based on logical p edica es, acili a ing he gene a ion o complemen a y pa e ns. We wan o emphasize ha one o ou main goals is o p o ide a comple e o maliza ion o he model, bu wi h he seconda y objec i e o p o iding an implemen a ion ha is usable om a p ac ical poin o iew 5(as a p oo o concep mo e han as a p o essional ool in his i s s age). In pu sui o ou objec i es, we will ely on Selec ion G aph model, ex ending i o add Regula Pa e n Ma ching and some addi ional ea u es ha will allow us o ob ain a g ea e exp essi eness powe in he pa e ns. As main di e ences wi h he que y sys ems om he p e ious sec ion we can indica e ha : •GGQ may con ain cycles. I will be a la e p oblem o conside imple- men a ions o GGQs ha handle cycles p ope ly, conside ing addi ional cons ain s o ensu e ce ain le els o e iciency in hei ac ual execu ion, o being ca e ul when designing he que y o c ea e a pa e n ha is e icien in he a ailable implemen a ion. •GGQ can e alua e subg aphs. In selec ion g aphs i is only possible o e alua e a single node ep esen ing he a ge able. In he case o GGQ, ixed elemen s (elemen s ha mus belong o he subg aph unde e al- ua ion) will be ep esen ed h ough a p edica e ha o ces hem o be con ained in he subg aph o be e alua ed. •Indi idual edges o he GGQ can be p ojec ed on o pa hs in he g aph whe e he pa e n is being checked. Fo his eason, p edica es will be used in a simila way as in Regula Pa e n Ma ching. •The p edica es associa ed wi h nodes o edges in he GGQ can e alu- a e s uc u al and seman ic cha ac e is ics beyond he p ope ies s o ed h ough he µ unc ion ( o example, using me ics on he g aph o i s elemen s). 5h ps://gi hub.com/palmag o/ggq 7 We will b ie ly o malize wha we unde s and conc e ely by a p edica e de- ined on a g aph. Conside Θ, a collec ion o unc ion, p edica e, and cons an symbols, con- aining all he unc ions om µ oge he wi h cons an s associa ed wi h each elemen o he g aph and possibly some addi ional symbols ( o example, me - ics de ined on he elemen s o he g aph). F om his se o symbols we can de ine a Fi s O de Language wi h equali y, L, making use o Θ as a se o non logical symbols, on which we cons uc , in he usual way, he se o e ms o he language and he se o o mulas, FORM(L), which we will call p edica es. Al hough, gene ally, he de inable o mulas in Lcan be applied o all objec s in he uni e se, which in ou con ex will consis in elemen s o g aphs (nodes, edges, and s uc u es o med om hem), when we wan o make explici he ypes o objec s we a e wo king wi h, we can w i e FORMV(L) o o mulas on nodes, FORME(L) o o mulas on edges, FORMP(L) o o mulas on pa hs, e c. In o de o simpli y he no a ion, when he e is no possibili y o con usion we will use FORM o deno e FORM(L). In addi ion, and aking ad an age o he exp essi eness capaci y o gene al- ized g aphs, we de ine he que y sys em using he same s uc u e: De ini ion 6. AGene alized G aph Que y (GGQ) o e Lis a bina y gene - alized g aph, Q= (VQ, EQ, µQ), whe e exis αand θ, p ope ies in µQ, such ha : •α:VQ∪EQ→ {+,−} o al. •θ:VQ∪EQ→FORM(L)associa es a bina y p edica e, θx, o each elemen xo VQ∪EQ. We will w i e Q∈GGQ(L) o deno e ha Qis a Gene alized G aph Que y o e L(i he language is p e ixed, we simply w i e Q∈GGQ). In he seman ics associa ed wi h a GGQ we will use he second inpu o hese bina y p edica es o impose equi emen s o membe ship on subg aphs o G( he gene al g aph on which we a e e alua ing que ies), whe eas he i s inpu mus ecei e elemen s o he co esponding ype o which i is associa ed: i Sis a subg aph and a∈VQ hen θa(., S)∈FORMV, and i e∈EQ hen θe(., S)∈F ORMP. Fo example: θa( , S) = ∃z∈S(z ) θe(ρ, S) = ∃y, z(yρ z∧y /∈S∧z∈S) θa( , S) will wo k o nodes, and i will be e i ied when he e is a pa h in G ha connec s a node o S( he subg aph we a e e alua ing) wi h , he inpu node on which i is e alua ed. θe(ρ, S) will wo k o pa hs, and will be e i ied when he e alua ed pa h, ρ, connec s Swi h i s complemen a y (in G). Gi en a GGQ unde he abo e condi ions, x+, espec i ely x−, will indica e ha α(x) = +, espec i ely α(x) = −, and V+ Q/V − Q( espec i ely, E+ Q/E− Q) he se o posi i e/nega i e nodes ( espec i ely, edges). I o an elemen , θxis no explici ly de ined, we assume i o be a au ology (gene ally deno ed by T). As we will see below, posi i e elemen s o he pa e n ep esen elemen s e i ying he associa ed p edica es ha mus be p esen in he g aph, while nega i e ones ep esen elemen s ha should no be p esen in he g aph. 8 In o de o be able o exp ess mo e easily he necessa y condi ions ha de ine he applica ion o a GGQ on a g aph, as well as he esul s ha we will see la e , we in oduce he ollowing no a ions: De ini ion 7. Gi en a GGQ, Q= (VQ, EQ, µQ), he se o Q-p edica es asso- cia ed o Qis: 1. Fo each edge, e∈EQ, we de ine: Qeo( , S) = ∃ρ∈ Po (G)θe(ρ, S)∧θeo(ρo, S)∧θei(ρi, S) Qei( , S) = ∃ρ∈ Pi (G)θe(ρ, S)∧θeo(ρo, S)∧θei(ρi, S) In gene al, we will w i e Qe∗( , S), whe e ∗ ∈ {o, i}, and we will deno e: Q+ e∗=Qe∗, Q− e∗=¬Qe∗ 2. Fo each node, n∈VQ, we de ine: Qn(S) = ∃ ∈V ^ e∈γo(n) Qα(e) eo( , S)∧^ e∈γi(n) Qα(e) ei( , S)  =∃ ∈V ^ e∈γ∗(n) Qα(e) e∗( , S)  Tha can be w i en gene ally as: Qn(S) = ∃ ∈V ^ e∈γ(n) Qα(e) e( , S)  In addi ion, we deno e: Q+ n=Qn, Q− n=¬Qn F om hese no a ions, we can o mally de ine when a subg aph ma ches a gi en GGQ: De ini ion 8. Gi en a subg aph So a p ope y g aph, G= (V, E, µ), and a Gene alized G aph Que y, Q= (VQ, EQ, µQ), bo h o e language L, we say ha Sma ches Q, and we will deno e SQ, i he nex o mula is e i ied: Q(S) = ^ n∈VQ Qα(n) n(S) O he wise, we will w i e: S2Q. No e ha , in pa icula , using S=Gwe can de ine when a g aph ma ches a GGQ. A gene ic GGQ example is shown in Figu e 1. One o he objec i es o GGQ is o p o ide powe enough o exp ess condi- ions ha make use o elemen s ha a e ou side he subg aph being e alua ed, some hing ha has been p o en necessa y o ha e a powe ul que y language 9 De ini ion 11. Gi en Q1, Q2∈GGQ, we say ha Q1is a Q−-conse a i e ex ension o Q2, and we will deno e i by Q2⊆−Q1, i : 1. Q2⊆Q1(as gene alized g aphs, so in he Q2elemen s he alues o αand θshould coincide o bo h GGQ). 2. Fo each nega i e node in Q2,n∈V− Q2, and e e y edge inciden o i in Q1,e∈γQ1(n), exis s an edge inciden o i in Q2,e0∈γQ2(n), imposing he same es ic ion, ha is: Qe≡Qe0. Figu e 11: Q−-conse a i e ex ension. Figu e 11 shows an example o a conse a i e Q−-ex ension. The ex ension made in he GGQ on he le o ge he GGQ on he igh imposes new e- s ic ions on he posi i e node bu does no add any u he es ic ions o he nega i e node. Since nega i e nodes add non-exis ence cons ain s o subg aph e i ica ion, conse a i e Q−-ex ensions ensu e ha new cons ain s a e no being added o hem. Hence, we can gi e he nex esul : Theo em 2. Gi en Q1, Q2∈GGQ, i Q2⊆−Q1 hen Q1Q2. P oo . Since Q-p edica es associa ed o edges depend only on he in o ma ion in he edge i sel (which conside s he alue o θa i s inciden nodes, ega dless o he alue o αin hem), we can s a e: ∀e∈EQ2(Q1α(e) e=Q2α(e) e) Conside ing his ac , we analyse how he Q-p edica es associa ed wi h he nodes o bo h GGQ beha e: •I n∈V− Q2, since Q2⊆−Q1, is i ial ha Q1− n=Q2− n. •I n∈V+ Q2, hen Q1+ n→Q2+ n, because (we will no e γ1,γ2 he incidence 16 unc ions o Q1and Q2, espec i ely): Q1+ n=∃ ∈V ^ e∈γ1(n) Q1α(e) e  =∃ ∈V ^ e∈γ1(n)∩EQ2 Q1α(e) e∧^ e∈γ1(n) EQ2 Q1α(e) e  =∃ ∈V ^ e∈γ2(n)∩EQ2 Q2α(e) e∧^ e∈γ1(n) EQ2 Q1α(e) e  →Q2+ n Hence: Q1=^ n∈VQ1 Q1α(n) n=^ n∈VQ2 Q1α(n) n∧^ n∈VQ1 VQ2 Q1α(n) n =^ n∈V+ Q2 Q1α(n) n∧^ n∈V− Q2 Q1α(n) n∧^ n∈VQ1 VQ2 Q1α(n) n →^ n∈V+ Q2 Q2α(n) n∧^ n∈V− Q2 Q2α(n) n∧^ n∈VQ1 VQ2 Q1α(n) n =^ n∈VQ2 Q2α(n) n∧^ n∈VQ1 VQ2 Q1α(n) n →Q2 P e ious esul sugges s ha a GGQ can be e ined by adding nodes (o any sign) and edges o he exis ing posi i e nodes, bu because o he (nega ed) in e p e a ion o Q-p edica es associa ed wi h nega i e nodes, ca e mus be aken o main ain hei en i onmen o be su e ha adding mo e edges does no weaken he imposed condi ions (and, he e o e, we would no ge e ined p edica es). In o de o ob ain con olled me hods o que y gene a ion, in he ollowing we will gi e a cons uc i e me hod o e ine GGQ by uni s eps. To do his, we will s a by looking a how GGQ beha es when cloning nodes. A clone consis s o making copies o exis ing nodes, and cloning all he edges inciden on hem (and be ween hem, in case we clone se e al nodes ha a e connec ed in he o iginal GGQ). O cou se, he cloning ope a ion can be done on any gene alized g aph, no only on GGQ. De ini ion 12. Gi en a gene alized g aph G= (V, E, µ), and W⊆V, we de ine he clone o Gby duplica ion o W, deno ed by ClW G, as: ClW G= (V∪W0, E ∪E0, µ ∪ {(n0, µ(n))}n∈W∪ {(e0, µ(e))}e0∈E0) whe e: 17 • o each n∈W,n0is a new node, and W0={n0:n∈W}, •E0is a se o new edges ob ained om inciden edges on nodes o Wwhe e nodes o Wa e eplaced by copies o W0(edges connec ing o iginal nodes wi h cloned nodes, and edges connec ing cloned nodes, a e cloned). Figu e 12: Clone o a g aph Figu e 12 shows an example o a cloned g aph by duplica ing wo o i s nodes. In he o iginal g aph, on he le , he se o nodes o be cloned a e highligh ed. The esul o he cloning is p esen ed in he g aph o he igh . The ollowing esul shows ha cloning posi i e nodes does no al e he meaning o he que ies. Theo em 3. I Q∈GGQ and W⊆V+ Q, hen ClW Q≡Q. P oo . To acili a e he no a ion, le Q1=ClW Q. Then, ollowing a simila easoning o ha o he p e ious p oo : Q1=^ n∈VQ1 Q1α(n) n =^ n∈VQ Q1α(n) n∧^ n∈W Q1α(n0) n0 =^ n∈VQ γQ(W) Q1α(n) n∧^ n∈γQ(W) Q1α(n) n∧^ n∈W Q1α(n0) n0 =^ n∈VQ γQ(W) Qα(n) n∧^ n∈γQ(W) Qα(n) n∧^ n∈W Qα(n) n =Q Con inuing wi h he idea o ob aining ools o build GGQ au oma ically, he ollowing concep o e inemen comple es he ope a ions ha we need o e ine a GGQ. A e inemen se o ms a kind o pa i ion o a gi en GGQ. 18 De ini ion 13. Gi en Q∈GGQ,R⊆GGQ is a e inemen se o Qin Gi : 1. ∀Q0∈R(Q0GQ) 2. ∀S⊆G(SQ⇒ ∃!Q0∈R(SQ0)) We a e now eady o p esen some e inemen se s ha will allow o au oma e he p ocesses o c ea ion and modi ica ion o Gene alized G aph Que y. Le ’s s a wi h he simples ope a ion, which allows o add new nodes o an exis ing GGQ: Theo em 4 (Add new node o Q).Gi en Q∈GGQ and m /∈VQ, he se Q+{m}, o med by: Q1= (VQ∪ {m}, EQ, αQ∪(m, +), θQ∪(m, T)) Q2= (VQ∪ {m}, EQ, αQ∪(m, −), θQ∪(m, T)) is a e inemen se o Qin G(Fig. 13). P oo . We mus e i y ha he wo necessa y condi ions o e inemen se s a e e i ied: 1. I is i ial ha Q⊆−Q1and Q⊆−Q2, hus Q1Qand Q2Q. 2. Gi en S⊆Gsuch ha SQ. Then: Q1=Q∧Qm Q2=Q∧ ¬Qm whe e Qm=∃ ∈V(T). I G6=∅, hen SQ1and S2Q2. I G=∅, hen S2Q1and SQ2. Usually, G6=∅, hence his ope a ion does no eally e ine, in he sense ha Q1≡Qand Q2≡ ¬T. Howe e , al hough we ob ain an equi alen GGQ, his ope a ion is e y use ul o add new nodes o a GGQ in o de o add new es ic ions o hem la e . Figu e 13: Re inemen Add node We p oceed now o gi e a second e inemen se ha allows o c ea e edges be ween exis ing nodes. In o de o ge a e inemen o he o iginal GGQ we mus es ic he addi ion o edges o posi i e nodes. 19 Theo em 5 (Add new edge be ween pos i e nodes o Q).Gi en Q∈GGQ and n, m ∈V+ Q, he se Q+{n+e∗ −→ m+}(∗ ∈ {+,−}), o med by (whe e Q0=Cl{n,m} Q): Q1= (VQ0, EQ0∪ {n+e∗ −→ m+}, θQ0∪(e, T)) Q2= (VQ0, EQ0∪ {n+e∗ −→ m−}, θQ0∪(e, T)) Q3= (VQ0, EQ0∪ {n−e∗ −→ m+}, θQ0∪(e, T)) Q4= (VQ0, EQ0∪ {n−e∗ −→ m−}, θQ0∪(e, T)) is a e inemen o Qin G(Fig. 14). P oo . 1. Since Q0is a clone o Q, and {n, m} ⊆ V+ Q, hen Q≡Q0. In addi ion, Q0⊆−Q1, Q2, Q3, Q4, hus Q1, Q2, Q3, Q4Q0≡Q. 2. Le us conside he p edica es: Pn=∃ ∈V ^ a∈γ(n) Qα(a) a∧Qα(e) eo  Pm=∃ ∈V ^ a∈γ(m) Qα(a) a∧Qα(e) ei   I SQnand SQm, hen we ha e ou mu ually complemen a y op ions: •SPn∧SPm⇒SQ1 •SPn∧S2Pm⇒SQ2 •S2Pn∧SPm⇒SQ3 •S2Pn∧S2Pm⇒SQ4 I n=m(eis a loop) hen he p e ious e inemen se is {Q1, Q4}. Nex ope a ion adds an addi ional p edica e o an exis ing edge. To keep he necessa y s uc u al condi ions, his ope a ion is es ic ed o posi i e edges connec ing posi i e nodes. Theo em 6 (Add p edica e o posi i e edge be ween posi i e nodes o Q). Gi en Q∈GGQ and n, m ∈V+ Q, wi h n+e+ −→ m+, and ϕ∈FORM, he se deno ed by Q+{n+e∧ϕ −→ m+}, o med by (whe e Q0=Cl{n,m} Q): Q1=(VQ0, EQ0∪ {n+e0 −→ m+}, θQ0∪(e0, θe∧ϕ)) Q2=(VQ0, EQ0∪ {n+e0 −→ m−}, θQ0∪(e0, θe∧ϕ)) Q3=(VQ0, EQ0∪ {n−e0 −→ m+}, θQ0∪(e0, θe∧ϕ)) Q4=(VQ0, EQ0∪ {n−e0 −→ m−}, θQ0∪(e0, θe∧ϕ)) is a e inemen se o Qin G(Fig. 15). 20 Figu e 14: Re inemen Add edge P oo . The p oo is simila o hose shown in p e ious esul s. Figu e 15: Re inemen Add p edica e o edge Finally, he las ope a ion adds p edica es o exis ing nodes. Again, we es ic his ope a ion o cases when he a ec ed nodes a e posi i e ( he node whe e he p edica e is added, and hose connec ed o i ). Theo em 7 (Add p edica e o posi i e node wi h posi i e en i onmen in Q). Gi en Q∈GGQ,n∈V+ Q, wi h NQ(n)⊆V+ Q, and ϕ∈FORM. We de ine he se Q+{n∧ϕ} o med by: {Qσ= (VQ0, EQ0, αQ0∪σ, θQ0∪(n0, θn∧ϕ)) : σ∈ {+,−}NQ(n)} whe e Q0=ClNQ(n) Q, and {+,−}NQ(n)is he se o all possible assigna ions o signs o elemen s in NQ(n). Then Q+{n∧ϕ}is a e inemen se o Qin G(Fig. 16). P oo . The p oo is simila o he p e ious cases. I is only necessa y o ake in o accoun ha , when modi ying he node n, no only he Q-p edica e associa ed wi h i is modi ied bu also hose om all i s adjacen nodes, and he se o unc ions {+,−}NQ(n)co e all possible sign assignmen o he nodes in he en i onmen . 21 Figu e 16: Re inemen Add p edica e o node I should be no ed ha hese e inemen s gene a e s uc u es ha can be simpli ied. Nex we p o ide some ope a ions o simpli y a GGQ and o ob ain ano he equi alen and simple one. De ini ion 14. Gi en Q∈GGQ,Q0⊆Qis edundan in Qi Q≡Q−Q0. Whe e Q−Q0is he subg aph o Qgi en by: (VQ VQ0, EQ (EQ0∪ {γ(n) : n∈VQ0}), µQ) Le us see a i s esul ha allows o ob ain simpli ied e sions o a GGQ by emo ing posi i e edundan nodes: Theo em 8. Gi en Q∈GGQ, and n∈V+ Qsuch ha exis s m∈VQ e i ying: •α(n) = α(m),θn≡θm. •Fo each e∈γ(n), exis s e0∈γ(m), e i ying α(e) = α(e0),θe=θe0and γ(e) {n}=γ(e0) {m}. Then, nis edundan in Q. Essen ially, mis a clone o n, bu possibly wi h mo e edges connec ed. We can ob ain a simila esul o edges: Theo em 9. Gi en Q∈GGQ, and wo edges, e, e0∈EQ, such ha n+e −→ m+ and n+e0 −→ m+. I θe→θe0 hen e0is edundan in Q. F om hese wo esul s we can gi e simpli ied e sions o he p e ious e ine- men se s, g ouping posi i e nodes and posi i e edges when, a e ini ial cloning, he sign o he duplica e elemen has been main ained wi h he o iginal, as well as in he cases whe e he sign has been main ained and an addi ional p edica e 22 Figu e 17: Re inemen Add edge (simpli ied) Figu e 18: Re inemen Add p edica e o edge (simpli ied) has been added. Figu es 17 o 19 shows ep esen a ions o he e inemen se s Q+{n∧ϕ},Q+{n+e∧ϕ −→ m+}and Q+{n∧ϕ}applying hese simpli ica ions. Fo example, he ollowing sequence o e inemen s cons uc s he pa e n P5(Fig. 20): Q1=Q∅+{n1} Q2=Q1+{n1∧( ∈S∧τ( )6=ins i u ion ∧τ( )6=clan} Q3=Q2+{n2} Q4=Q3+{n2 e1 −→ n1} P5=Q4+{n2 e1∧(τ(ρ)=DEVOTED TO) −→ n1} F om he s uc u e o a GGQ i is no easy o ob ain a complemen a y GGQ wi h i . Howe e , he e a e many analysis on p ope y g aphs (o gene - alized g aphs) whe e we need o wo k wi h sequences o que ies e i ying some p ope ies o con ainmen and complemen a i y as p edica es. The e inemen s p esen ed in his sec ion come o co e his gap and o allow, o example, he cons uc ion o an embedded pa i ion ee wi h he nodes labelled as ollows (Fig. 21): •The oo node is labelled wi h Q0(some ini ial GGQ). 23 Figu e 19: Re inemen Add p edica e o node (simpli ied) Figu e 20: Sequences o e inemen s o P5 •I a ee node is labelled wi h Q, and R= (Q1, . . . , Qn) is a e inemen se o Q, hen i s child nodes a e labelled wi h he elemen s o R. No e ha he cons uc ion o his ee comple ely depends on he e inemen chosen in each b anch, and he ini ial GGQ. The e inemen s p esen ed he e a e only one op ion, bu no he only one. Fo example, we could conside e inemen s ha , ins ead o adding cons ain s o posi i e elemen s, ligh en he condi ions o e nega i e elemen s, and using disjunc ion o p edica es ins ead o conjunc ion o hem. 7 Conclusions and Fu u e Wo k In his wo k we ha e p esen ed a amewo k o e alua e subg aphs imme sed in p ope y g aphs (mo e gene ally, in gene alized g aphs) ha can be used in disco e y p ocedu es o e ela ional da a. We wan his amewo k o e i y se e al equi emen s: •To use he same g amma o he que ies and o he s uc u es o e alua e. 24 Figu e 21: Re inemen s ee Thanks o he exp essi e powe o gene alized g aphs we ha e p esen ed a que y ool ha can be exp essed by using gene alized g aphs. •To p o ide well- ounded basis ha would assu e he que ies beha e con- sis en ly and obus ly. These esul s ha e been ob ained by s udying he ela ionships be ween he opological s uc u e o he que y and he logical meaning o he que y. •In addi ion, we ha e p o ided a con olled way o cons uc GGQ by means o a omic ope a o s ha ansla es he opological con ol o he cons uc ion in o a logical con ol o he meaning. In his sense, we ha e in oduced a i s amily o e inemen s o achie e his goal. Because ela ional da a can be iewed as g aphs, and que ies can be iewed as pa e n sea chs, mos que y languages in da abases can be iewed as (pe haps p imi i e) g aph pa e n ma ching ools. In his pape we ha e analysed some o he exis ing que y ools as well as he easibili y o be used in au oma ic p ocedu es. One o hese ools, Selec ion G aphs, allows o e alua e eco ds in ela ional da abases h ough acyclic pa e ns ha can be e ined by using basic ope a ions, and allowing o ob ain complemen a y pa e ns in each case. They do no equi e an exac p ojec ion o he pa e n ep esen ing he selec ion g aph on o he subg aph o be e alua ed, bu a he he ul illmen o a se ies o p edica es exp essed in he pa e n. We mus emembe ha i a p ojec ion is equi ed when ca ying ou he e i ica ion o a pa e n, he ask o e alua - ing he non-exis ence o ce ain elemen s becomes ha d. Speci ically, selec ion g aphs e alua e he exis ence / non-exis ence o pa hs inciden s in o he eco d unde e alua ion ( hey a e only capable o e alua ing indi idual eco ds) by e i ying a conjunc ion o p edica es associa ed o hose pa hs, and i can be seen as he e alua ion o exis ence o a ee oo ed in he node ha ep esen s he eco d unde e alua ion. Gene alized G aph Que y ex ends he concep o selec ion g aphs allowing he e alua ion o gene al subg aphs, beyond a single node, he use o mo e powe ul p edica es and allowing cyclical pa e ns. As i becomes a equi emen no o use a p ojec ion o he e i ica ion o a pa e n, hese objec i es ha e been achie ed by ex ending he o m o e alua ion, which can be seen as he e alua ion o a ee oo ed in e e y node om he pa e n (allowing he edges o be iden i ied wi h pa hs in he g aph). Consequen ly, i manages mo e complex 25 lujo de da os que pe mi e a los usua ios exp esa de mane a sencilla consul as complejas en g a os. De es a o ma, cada consul a es ´a compues a po una se- cuencia de pasos que ealizan ope aciones a ´omicas en el lujo de da os. G emlin pe mi e ealiza consul as sem´an icas, exac as, ´op imas, y basadas en isomo - ismos de subg a os de mane a na u al. Dado que G emlin es un lenguaje, un juego de ins ucciones y una m´aquina i ual, es posible dise˜na o os lenguajes de consul a en g a os que compilen al lenguaje G emlin (po ejemplo, SPARQL puede se compilado pa a ejecu a se en una m´aquina G emlin1). Los G a os de Selecci´on son un ipo de pa ones mul i- elacionales pa a con- sul a bases de da os basadas en la ecnolog´ıa SQL. Rep esen an los cimien os sob e los que es ´a cons uido el algo i mo de inducci´on de ´a boles de decisi´on mul i- elacionales MRDTL [13] as´ı como o os algo i mos de ap endizaje au- om´a ico mul i- elacionales [15]. El obje i o inal de los g a os de selecci´on es su uso en p ocedimien os de b´usqueda de pa ones de ipo op-down [12], y pa a ello se necesi an ope ado es que pe mi an modi ica , a a ´es de peque˜nos cam- bios, un g a o de selecci´on dado. Adem´as, pe mi en una ep esen aci´on g ´a ica muy exp esi a y pueden se cons uidos en pasos sucesi os, o eciendo buenas condiciones pa a se u ilizados en p ocedimien os de descub imien o. Es po es- as azones po las que nues a p opues a se puede conside a una gene alizaci´on de algunas de las ideas que p omo ie on es a ap oximaci´on. Como con apa e, p esen an el incon enien e de que los pa ones que ep esen an no pueden con- ene ciclos, limi ando as´ı la po encia exp esi a de las consul as. Los g a os de selecci´on ep esen an un ipo de G aph Pa e n Ma ching exac o, ´op imo y ba- sado en el isomo ismo sem´an ico de g a os. Adem´as, al se una ep esen aci´on g ´a ica de las consul as SQL, he eda los p oblemas de e iciencia que p esen an los sis emas basados en es a ecnolog´ıa. Cyphe es un lenguaje de consul a decla a i o desa ollado espec´ı icamen e pa a abaja sob e la base de da os en g a o Neo4j2. Cyphe es ´a dise˜nado pa a se un lenguaje de consul a humano, ce cano an o pa a desa ollado es como pa a usua ios inales, y las consul as de pa ones en g a os que habi ualmen e son complicadas en o os lenguajes esul an muy sencillas en ´el [2], mos ando una al a capacidad exp esi a [1]. La base de da os Neo4j sigue con mucha i- delidad el modelo de g a o con p opiedades, pe o obliga que las a is as engan un ipo asociado. A di e encia con G emlin, Cyphe no es Tu ing comple o, po lo que p esen a algunas limi aciones (po ejemplo, no es capaz de lle a a cabo algunos algo i mos de an´alisis en g a os), y es de m´as al o ni el (po ejemplo, no es capaz de exp esa la o ma en la que se quie e pa aleliza una consul a). Las consul as sencillas en Cyphe poseen un buen endimien o, sin emba go no siemp e es as´ı cuando las consul as siguen pa ones complejos, ya que cuan- do hay condiciones m´ul iples Cyphe no pe mi e indica en qu´e o den aplica dichas condiciones. Cyphe pe mi e consul as de pa ones en g a os es uc u a- les y sem´an icas, ´op imas, exac as, y basadas en el isomo ismo de subg a os. Adem´as, pe mi e un ipo de Regula Pa e n Ma ching en el que las a is as en el pa ´on se p oyec en sob e caminos del g a o, y se pueden impone es icciones a esos caminos a a ´es de exp esiones que hacen uso del ope ado disyunci´on y del cie e de Kleene. Una limi aci´on desde el pun o de is a acad´emico es que ca ece de un modelo o mal asociado, y se ha cons uido con un ca ´ac e 1h ps://gi hub.com/dkuppi z/spa ql-g emlin 2h p://neo4j.o g 4 comple amen e aplicado, po lo que algunas de sus ope aciones no han sido a- lidadas. A pesa de ello, po su excelen e exp esi idad y acep able endimien o, y po que consume los da os de una base de da os en g a o muy ex endida en su uso, Cyphe es el lenguaje base que se ha elegido pa a implemen a Gene alized G aph Que y, nues a p opues a pa a lle a a cabo consul as de pa ones en g a os con p opiedades. Algunas o as he amien as elacionadas con la consul a de pa ones en g a- os son: G aphLog [6], que pe mi e es uc u a las consul as en o ma de g a o y e al´ua la exis encia de un pa ´on de e minado en e un pa de nodos pa a ge- ne a una nue a a is a en e ´es os; G aphQL3, lenguaje de consul a decla a i o desa ollado po la compa˜n´ıa Facebook pa a pe mi i el acceso a su in o ma- ci´on po pa e de aplicaciones ex e nas; G aql4, lenguaje de consul a decla a i o o ien ado a g a os de conocimien o; y PGQL [19], que ep esen a una ex ensi´on SQL con ca ac e ´ıs icas p opias de las consul as en g a os: an´alisis de accesibi- lidad en e nodos, localizaci´on de caminos, y cons ucci´on de g a os. 3. De iniciones P e ias Dado Vun conjun o cualquie a, deno a emos po : V0=∅, V 1=V, V n+1 =Vn×V, V ∗=[ n≥0 Vn En gene al, a los elemen os de V∗los llama emos secuencias,sucesiones o lis as. Si x∈Vnen onces di emos que x iene longi ud n, y esc ibi emos |x|=n. Si x= (a1, . . . , an), y = (b1, . . . , bm)∈V∗, en onces la conca enaci´on de x eyes el elemen o de V∗dado po xy = (a1, . . . , an, b1, . . . , bm). Pa a cada x= (a1, . . . , an)∈Vn, llama emos conjun o sopo e de xal conjun o s(x) = {ai: 1 ≤i≤n},. y, po un abuso del lenguaje, esc ibi emos a∈xpa a indica que a∈s(x). Pa a cada a∈V, deno amos |a|x= #{i:xi=a}(donde #(A) deno a el ca dinal del conjun o A), y llama emos mul iconjun o sopo e de xal conjun o de pa es ms(x) = {(a, |a|x) : a∈x}. A pa i de los mul iconjun os sopo e podemos de ini la elaci´on ∼, que se puede p oba ´acilmen e que es de equi alencia en Vn, como: x∼ysi y solo si ms(x) = ms(y), y deno a emos po Vn ∼=Vn/∼(conjun o cocien e de Vn bajo la elaci´on ∼). Nues a in e p e aci´on de es os conjun os se ´a que, as´ı como Vndeno a el conjun o de uplas o denadas de elemen os de V,Vn ∼deno a el conjun o de uplas no o denadas del mismo conjun o (es deci , uplas en las que impo an los elemen os que apa ecen, conside ando las posibles epe iciones, pe o no el o den en el que apa ecen). A con inuaci´on p esen amos la de inici´on de G a o Gene alizado, que aba ca las di e en es a ian es de g a o que se pueden encon a en la li e a u a y que necesi a emos a la ho a de p esen a nues a p opues a de consul a de pa ones en g a os. De inici´on 1. Un G a o Gene alizado es una upla G= (V, E, µ)donde: 3h p://g aphql.o g/ 4h ps://g akn.ai 5 VyEson conjun os, que llama emos, espec i amen e, conjun o de nodos yconjun o de a is as de G. µes una elaci´on (habi ualmen e la conside a emos uncional, pe o no es necesa io) que asocia a cada nodo o a is a en el g a o su conjun o de p opiedades, es deci , µ: (V∪E)×R→S, donde R ep esen a el conjun o de posibles cla es pa a dichas p opiedades, y Sel conjun o de posibles alo es asociados a las mismas. Habi ualmen e, pa a cada α∈Ryx∈V∪E, esc ibi emos α(x) = µ(x, α). Adem´as, exigi emos la exis encia de una cla e des acada pa a las a is as del g a o, que llama emos incidencias y deno a emos po γ, que asocia a cada a is a del g a o una upla, o denada o no, de ´e ices del g a o. Aunque la de inici´on que hemos p esen ado aqu´ı es m´as gene al que las que se pueden encon a en la li e a u a elacionada, ambi´en los denomina emos G a os con P opiedades, ya que suponen una ex ensi´on na u al de es e ipo de g a os. Cabe indica que en los g a os gene alizados que acabamos de mos a , y a di e encia de las de iniciones adicionales, los elemen os en Eson s´ımbolos que ep esen an a las a is as y no pa es de elemen os de V, y es γla unci´on que asocia a cada a is a el conjun o de ´e ices que elaciona. De inici´on 2 (No aci´on y de iniciones).En el con ex o de las de iniciones an- e io es, usa emos la siguien e no aci´on: Habi ualmen e iden i ica emos econ γ(e), de o ma que si ∈Vesc ibi- emos ∈epa a deno a que ∈γ(e). As´ı, in e p e amos la a is a como la colecci´on de nodos que conec a, al y como siguen las de iniciones m´as cl´asicas de g a os. De o ma sim´e ica, pa a cada u∈Vesc ibi emos γ(u) = {e∈E:u∈ e}. En gene al, un g a o gene alizado puede ene combinaci´on de a is as di- igidas y no di igidas. Si γ:E→V∗di emos que el g a o es Di igido. Si γ:E→V∗ ∼di emos que el g a o es No Di igido. Pa a cada e∈E, se de ine la a idad de ecomo Pa∈e|a|e. Si γ:E→V2∪V2 ∼di emos que el g a o es Bina io (y coincide con la es uc u a de g a o m´as habi ual). En caso con a io, di emos que el g a o es un Hipe g a o. Una a is a, e∈E, se dice que es un lazo si conec a un nodo con ´el mismo, es deci , si iene a idad dis in a a 1 pe o s(e)es uni a io. Una a is a, e∈E, se dice inciden e en un nodo, ∈V, si ∈e. Dos nodos dis in os, u, ∈Vse dicen adyacen es, o ecinos, en Gsi exis e e∈E al que {u, } ⊆ e. Si exis en a is as dis in as en Econ la misma incidencia, es deci , a is as que conec an los mismos nodos, di emos que el g a o es un Mul i-g a o. 6 Si ees una a is a bina ia di igida que conec a ucon ,e= (u, ), esc ibi- emos ue → , y ambi´en no a emos eo=u(ou pu de e) y ei= (inpu de e). En es e caso, pa a cada u∈Vesc ibi emos: γo(u) = {e∈γ(u) : eo=u} γi(u) = {e∈γ(u) : ei=u} que deno an, espec i amen e, el conjun o de a is as salien es de uy el conjun o de a is as en an es en u. Dado u∈V, de inimos el en o no de uen Gcomo el conjun o de nodos, incluyendo a u, que es ´an conec ados con ´el, es deci : N(u) = Se∈γ(u)γ(e). Cuando sea necesa io habla emos del en o no educido de ucomo N∗(u) = N(u) {u}. La noci´on de subg a o se ob iene de la de inici´on habi ual a˜nadiendo a las condiciones habi uales de con enci´on de nodos y a is as la condici´on de que las p opiedades ambi´en se man engan en los elemen os comunes. De inici´on 3. Un subg a o de un g a o G= (V, E, µ)es un g a o S= (VS, ES, µS) al que VS⊆VyES⊆EyµS⊆µ|VS∪ES. No a emos S⊆G. Un concep o undamen al al abaja con g a os es el de camino, que pe mi e es udia elaciones de dis ancia y condiciones de conec i idad en e di e en es elemen os, ex endiendo la conec i idad de las a is as a si uaciones m´as gene ales. Debido a que nues os g a os son conside ablemen e m´as gene ales que los habi uales (has a el pun o de con ene el concep o de hipe g a o, que gene al- men e no se cub e en la Teo ´ıa de G a os cl´asica) hemos de da p e iamen e algunas nociones que pe mi an habla de la posici´on de o den que ocupa un nodo en una a is a: De inici´on 4. Si e∈Eyγ(e) = ( 1, . . . , n)∈Vn, en onces pa a cada i∈s(e) de inimos su o den en ecomo o de( i) = i. Si e∈Vn ∼, en onces pa a cada ∈s(e)de inimos o de( )=0. Es e o den de ine de o ma na u al un o den en e los nodos inciden es en una a is a, y esc ibi emos u≤e pa a indica que o de(u)≤o de( ). A pa i de es a elaci´on de o den en e los nodos que conec a una a is a, podemos de ini de mane a gene al qu´e en endemos po un camino den o de un g a o. De inici´on 5. Dado un g a o G= (V, E, µ), el conjun o de caminos en G, que deno a emos po PG, se de ine como el meno conjun o e i icando las siguien es condiciones: 1. Si e∈E,u, ∈econ u≤e , en onces ρ=ue → ∈ PG, y sopV(ρ) = (u, ),sopE(ρ)=(e). Di emos que ρune (o conec a) los ´e ices uy de G, o que es accesible desde upo medio de ρ, y lo no a emos po uρ . 2. Si ρ1, ρ2∈ PG, con uρ1 , ρ2 w, en onces ρ1·ρ2∈ PG, con uρ1·ρ2 w, sopV(ρ1·ρ2) = sopV(ρ1)sopV(ρ2),sopE(ρ1·ρ2) = sopE(ρ1)sopE(ρ2). En caso de que u= di emos que ρes un camino ce ado, y si adem´as no se epi en a is as en ρdi emos que es un ciclo. 7 Si ρ∈ PG, con sopV(ρ) = (u1, . . . , un+1) y sopE(ρ) = (e1...,en), en onces esc ibi emos: ρ=u1 e1 →u2 e2 →. . . en →un+1 En gene al, y como no hay con usi´on, esc ibi emos u∈ρpa a exp esa que u∈sopV(ρ), y e∈ρpa a exp esa que e∈sopE(ρ). No a. Siguiendo una no aci´on simila al caso de las a is as bina ias di igidas, si ρ∈ P(G)yuρ , en onces esc ibi emos ρo=uyρi= . Cuando sea necesa io, no a emos los caminos que pasan po u, que co- mienzan en u, y que acaban en u, espec i amen e, po : Pu(G) = {ρ∈ P(G) : u∈ρ} Po u(G) = {ρ∈ P(G) : ρo=u} Pi u(G) = {ρ∈ P(G) : ρi=u} 4. Gene alized G aph Que y A con inuaci´on p esen amos Gene alized G aph Que y (GGQ, pa a ab e ia , a pa i de aho a), nues a p opues a pa a lle a a cabo consul as de pa ones en g a os. Teniendo en cuen a las di e sas clasi icaciones apun adas an e io men e, podemos deci que es a p opues a pe mi e lle a a cabo consul as es uc u a- les y sem´an icas, exac as, ´op imas, y basadas en un ipo de Regula Pa e n Ma ching que pe mi e, adem´as de p oyec a a is as del pa ´on en caminos (no necesa iamen e a is as) que cumplan las es icciones impues as, exp esa es- icciones m´as complejas sob e cada elemen o del pa ´on y ealiza consul as que posean ciclos. Una de las ca ac e ´ıs icas que buscamos en nues a he amien a es que pe - mi a ob ene (de alguna mane a) pa ones complemen a ios a un pa ´on dado. Es o signi ica que si una es uc u a no e i ica un pa ´on debe e i ica siemp e uno de sus pa ones complemen a ios. Como hemos is o en la secci´on an e io , muchas de las he amien as desa olladas pa a lle a a cabo consul as de pa o- nes en g a os exigen que se cumpla una p oyecci´on en e el pa ´on y la es uc u a a e alua . Dicha p oyecci´on impide e alua la no exis encia de elemen os, algo que amos a necesi a pa a gene a es os pa ones complemen a ios, po lo que nues a p opues a no se basa en una p oyecci´on a la ho a de e i ica si una es uc u a cumple con un pa ´on de e minado, sino que se ´a cons uida en base a p edicados l´ogicos, que acili a ´an la gene aci´on de pa ones complemen a ios. Hemos de indica que nues o obje i o p incipal es el de p opo ciona una o malizaci´on comple a del modelo ( en e a implemen aciones incomple as des- de el pun o de is a o mal, pe o ope a i as), pe o con el obje i o secunda io de p opo ciona una implemen aci´on que sea u ilizable desde un pun o de is a p ´ac ico5(aunque m´as como una p ueba de concep o que como una he amien a p o esional en es a p ime a e apa). 5h ps://gi hub.com/palmag o/ggq 8 En busca de nues os obje i os, nos apoya emos en el concep o de G a o de Selecci´on is o an e io men e, ampli´andolo pa a a˜nadi le Regula Pa e n Ma ching y algunas ca ac e ´ıs icas adicionales que nos pe mi i ´an ob ene una mayo po encia exp esi a en los pa ones que se pueden cons ui . Como p incipales ca ac e ´ıs icas di e enciado as espec o de los sis emas de consul a is as en el apa ado an e io , podemos indica que: Los GGQ pueden con ene ciclos. Se ´a un p oblema pos e io conside a implemen aciones de los GGQ que manipulen los ciclos adecuadamen e, conside a es icciones adicionales pa a asegu a cie os ni eles de e icien- cia en su ejecuci´on eal, o p eocupa se en la e apa de dise˜no de la consul a de c ea un pa ´on que sea e icien e en la implemen aci´on disponible. Los GGQ pueden e alua subg a os. Reco demos que en los G a os de Selecci´on cl´asicos s´olo es posible e alua un ´unico nodo que ep esen a a la abla a ge . En el caso de los GGQ, los elemen os ijos (elemen os que deben pe enece al subg a o bajo e aluaci´on) se ´an ep esen ados a a ´es de un p edicado que obliga a que dichos elemen os es ´en con enidos en el subg a o a e alua . Las a is as indi iduales del GGQ pueden se p oyec adas sob e caminos en el g a o en el que se comp ueba el pa ´on. Pa a ello se ha ´a uso de p edicados de o ma simila a como se hace en Regula Pa e n Ma ching. Los p edicados asociados a nodos o a is as en el GGQ pueden e alua ca ac e ´ıs icas es uc u ales y sem´an icas m´as all´a de las p opiedades al- macenadas a a ´es de la unci´on µ(po ejemplo, a a ´es de m´e icas sob e el g a o o sus elemen os). Aunque ya hemos mencionado que podemos dispone de un conjun o de p edicados asociados a los elemen os del pa ´on, amos a o maliza b e emen e qu´e en endemos conc e amen e po un p edicado de inido sob e un g a o. Tal y como mues a su de inici´on, asociado a un g a o con p opiedades e- nemos una unci´on µque ep esen a un conjun o de unciones (en pa icula , pueden se p edicados) asociadas a nodos y a is as del g a o. Conside emos Θ, una colecci´on de s´ımbolos de unci´on, p edicados y cons an es, que con iene o- das las unciones de µjun o con cons an es asociadas a cada elemen o del g a o y, posiblemen e, algunos s´ımbolos adicionales, an o de unciones como de p e- dicados y cons an es (po ejemplo, m´e icas de inidas sob e los elemen os del g a o). A pa i de es e conjun o de s´ımbolos podemos de ini un Lenguaje de P ime O den con igualdad, L, haciendo uso de Θ como conjun o de s´ımbolos no l´ogicos, sob e el que cons uimos, de la o ma usual, el conjun o de ´e minos del lenguaje y el conjun o de ´o mulas, FORM(L), que llama emos p edicados. Aunque, en gene al, las ´o mulas de inibles en Lse pueden aplica a odos los obje os del uni e so, que en nues o con ex o es a ´a compues o po elemen- os de g a os (nodos, a is as, y es uc u as o madas a pa i de ´es os), cuando que amos explici a sob e qu´e ipos de obje os es amos abajando en cada mo- men o, pod emos esc ibi FORMV(L) pa a indica que son ´o mulas aplicables sob e nodos, FORME(L) pa a indica que son ´o mulas aplicables sob e a is as, FORMP(L) pa a indica que son ´o mulas aplicables sob e caminos, e c. En lo que sigue supond emos p e ijado un Lenguaje sob e g a os, L, po lo que, con el obje i o de simpli ica las exp esiones que usemos, no a emos de 9 o ma gene al FORM pa a deno a FORM(L) cuando no haya posibilidad de con usi´on. Adem´as, y ap o echando la capacidad exp esi a de los g a os gene alizados, de inimos las consul as sob e ellos haciendo uso de las mismas es uc u as: De inici´on 6. Un Gene alized G aph Que y (GGQ) sob e Les un g a o bina io con p opiedades sob e L,Q= (VQ, EQ, µQ), donde exis en αyθ, p opiedades des acadas en µQ, ales que: α:VQ∪EQ→ {+,−} o al. θ:VQ∪EQ→FORM(L)asocia un p edicado bina io, θx, a cada elemen o xde VQ∪EQ. Esc ibi emos Q∈GGQ(L) pa a deno a que Qes un Gene alized G aph Que y sob e L(si el lenguaje es ´a p e ijado y no hay posibilidad de con usi´on, esc ibi emos simplemen e Q∈GGQ). El sen ido de usa p edicados bina ios es que en la sem´an ica asociada a un GGQ usa emos la segunda en ada de es os p edicados pa a pode habla de condiciones de pe enencia sob e subg a os de G(el g a o gene al sob e el que es amos e aluando las consul as), mien as que la p ime a espe a ´a ecibi como en ada elemen os adecuados al ipo de elemen o al que es ´a asociado. As´ı, si Ses un subg a o y a∈VQen onces θa(., S)∈FORMV, y si e∈EQen onces θe(., S)∈F ORMP. Po ejemplo: θa( , S) = ∃z∈S(z ) θe(ρ, S) = ∃y, z(yρ z∧y /∈S∧z∈S) El p ime p edicado end ´a sen ido pa a nodos, y se e i ica ´a cuando exis a un camino en Gque conec a un nodo de S(el subg a o que es amos e aluando) con , el nodo de en ada sob e el que se e al´ua. El segundo p edicado end ´a sen ido pa a caminos, y se e i ica ´a cuando el camino e aluado, ρ, conec a S con su complemen a io (en G). Dado un GGQ en las condiciones an e io es, no a emos x+, espec i amen e x−, pa a indica que α(x) = +, espec i amen e α(x) = −, y V+ Q/V − Q( espec i- amen e, E+ Q/E− Q) el conjun o de nodos ( espec i amen e, a is as) posi i os/ne- ga i os. Si pa a un elemen o x,θxno es ´a expl´ıci amen e de inida, supond emos que θxes una au olog´ıa, que podemos deno a en gene al po T. Tal y como e emos a con inuaci´on, in ui i amen e los elemen os posi i os del pa ´on ep esen an elemen os que deben es a p esen es en el g a o sob e el que se ealiza la consul a y que e i ican los p edicados asociados, mien as que los elemen os nega i os en el pa ´on ep esen an elemen os que no deben es a p esen es en el g a o. Pa a pode exp esa con m´as acilidad las condiciones necesa ias que de inen la aplicaci´on de un GGQ sob e un g a o, as´ı como los esul ados que e emos m´as adelan e, in oducimos a con inuaci´on una se ie de no aciones que gene an p edicados aplicables sob e elemen os del g a o: De inici´on 7. Dado Q= (VQ, EQ, µQ)un GGQ, el conjun o de Q-p edicados asociados a Qes: 10 1. Pa a cada a is a, e∈EQ, de inimos los Q-p edicados asociados como: Qeo( , S) = ∃ρ∈ Po (G)θe(ρ, S)∧θeo(ρo, S)∧θei(ρi, S) Qei( , S) = ∃ρ∈ Pi (G)θe(ρ, S)∧θeo(ρo, S)∧θei(ρi, S) En gene al, esc ibi emos Qe∗( , S), donde ∗ ∈ {o, i}, y no a emos: Q+ e∗=Qe∗, Q− e∗=¬Qe∗ 2. Pa a cada nodo, n∈VQ, de inimos el Q-p edicado asociado como: Qn(S) = ∃ ∈V ^ e∈γo(n) Qα(e) eo( , S)∧^ e∈γi(n) Qα(e) ei( , S)  =∃ ∈V ^ e∈γ∗(n) Qα(e) e∗( , S)  Y que podemos esc ibi en gene al como: Qn(S) = ∃ ∈V ^ e∈γ(n) Qα(e) e( , S)  ya que pa a cada nodo no hay posibilidad de con usi´on. Adem´as, no a e- mos: Q+ n=Qn, Q− n=¬Qn A pa i de es as no aciones, podemos de ini o malmen e cu´ando un sub- g a o e i ica un GGQ de e minado: De inici´on 8. Dado un subg a o Sde un g a o con p opiedades, G= (V, E, µ), y un Gene alized G aph Que y, Q= (VQ, EQ, µQ), ambos sob e el lenguaje L, di emos que S e i ica Q, y lo deno a emos SQ, si se e i ica la ´o mula: Q(S) = ^ n∈VQ Qα(n) n(S) En caso con a io, esc ibi emos: S2Q. En la Figu a 1 se mues a un GGQ gen´e ico a modo de ejemplo. Uno de los obje i os que pe siguen los GGQ es p opo ciona la capacidad exp esi a su icien e pa a exp esa condiciones que hacen uso de elemen os que es ´an ue a del subg a o que se es ´a e aluando, algo que se ha demos ado ne- cesa io pa a dispone de un lenguaje de consul as po en e y que, sal o en los g a os de selecci´on, y de o ma muy limi ada, no es ´a p esen e en el es o de soluciones is as an e io men e. Obs´e ese que, en pa icula , usando S=Gpodemos de ini cu´ando un g a o e i ica un GGQ. Aunque la de inici´on de GGQ que hemos p esen ado hace uso de g a os bina- ios (no hipe g a os), ya que p oyec a a is as sob e caminos que conec an pa es 11 Figu a 1: Ejemplo de Gene alized G aph Que y. de nodos, el concep o de g a o gene alizado es su icien emen e lexible como pa- a pe mi i o as in e p e aciones en las que se pueden conside a GGQs que hagan uso de es uc u as m´as gene ales. Adem´as, y es impo an e esal a es e hecho, aunque un GGQ sea bina io, puede aplica se sob e g a os con p opie- dades que no lo sean (es deci , Gpod ´ıa se un hipe g a o gene alizado), ya que el concep o de camino que conec a pa es de nodos se de ine independien- emen e de la a idad de las a is as que in e ienen. En es os casos, se debe ´ıa usa una no aci´on algo m´as compleja pa a pode de ini los Q-p edicados, pe o es comple amen e ac ible. Po mo i os de simplicidad, y po la al a de bases de da os de hipe g a os, hemos es ingido las de iniciones p esen adas a es os casos pa icula es, pe o quedan abie as pa a se ex endidas a los casos m´as ge- ne ales en el momen o en el que el uso de hipe g a os se gene alice como medio de modelado y almacenamien o, ya que en la mayo ´ıa de las (escasas) ocasiones en que se han necesi ado siemp e se ha esuel o el p oblema po medio de la c eaci´on de nue os ipos de nodos y a is as bina ias que simulan la p esencia de hipe a is as. An es de pasa a analiza algunas p opiedades in e esan es sob e los GGQ y la o ma de cons ui los, eamos algunos ejemplos que pe mi an en ende c´omo se in e p e an y qu´e capacidad exp esi a pe mi en. 5. Ejemplos Rep esen a i os A lo la go de es e pa ´ag a o, y a modo de ejemplo, p esen a emos una colec- ci´on de peque˜nos GGQ sob e un g a o con p opiedades conc e o con el obje o de mos a la o ma en que uncionan y su capacidad exp esi a. En la Figu a 2 se p esen a un g a o con p opiedades que se co esponde con una secci´on de una base de da os basada en g a os que con iene in o maci´on ace ca de los pe sonajes p incipales de la se ie S a wa s y que es u ilizada e- cuen emen e como ejemplo sencillo pa a hace demos aciones elacionadas con las capacidades de las bases de da os en g a o 6. En lo que sigue ha emos uso de es e g a o pa a p esen a algunos pa ones que hagan uso del lenguaje so- b e el que es ´a de inido y pa a comp oba la e i icaci´on de algunos subg a os 6h p://console.neo4j.o g/?id=S a Wa s 12 conc e os del mismo. Figu a 2: G a o S a wa s pa a ilus a ejemplos de Gene alized G aph Que y. Con el in de simpli ica la ep esen aci´on de consul as y subg a os, una de las p opiedades en µ, a la que denomina emos τy que ep esen a una clasi icaci´on de ipos sob e nodos y a is as, se ´a exp esada di ec amen e sob e la a is as y, en el caso de los nodos, a a ´es de colo es. Adem´as, la p opiedad name de los nodos se ´a ep esen ada di ec amen e sob e los mismos, y las a is as no di igidas se ´an ep esen adas como a is as bidi eccionales. La ep esen aci´on g ´a ica de los GGQ de ejemplo se mues a en las igu as 3 a 8. Cuando analicemos la in e p e aci´on de es as consul as ambi´en indica emos algunos subg a os de Gque los e i ican. Cada elemen o en es os GGQ iene asociada la ep esen aci´on de su p opiedad αdi ec amen e po medio de un s´ımbolo +/−, y de su p opiedad θdi ec amen e en el elemen o (si el p edicado asociado a un elemen o del GGQ es una au olog´ıa, dicho p edicado no se ´a ep esen ado). En exp esiones del ipo τ(ρ) = Xen el p edicado de una a is a, Xse in e p e a como una exp esi´on egula que debe e i ica se po la secuencia de p opiedades τde sopE(ρ). El GGQ P1(Figu a 3) se puede in e p e a en lenguaje na u al a a ´es de la siguien e sen encia: Pe sonajes y elaci´on alumno-maes o en la que ambos son de o os de los Jedi y el maes o iene m´as de 500 a˜nos. En es e caso se imponen es icciones es uc u ales a a ´es de la p esencia de a is as y a a ´es de p edicados que hacen uso de las p opiedades τ,name, y age. Es e GGQ se e i ica ´a en subg a os en los que puedan se p oyec ados dos nodos y una a is a que los une (los es elemen os ma cados como elemen os posi i os en el GGQ) que cumplan con las es icciones impues as. En el caso de que exis ie a un pe sonaje que se haya ense˜nado a s´ı mismo (lo que end ´ıa dado po un lazo de ipo TEACHES) que enga m´as de 500 a˜nos y sea de o o de los Jedi, un subg a o que con enga es e nodo ambi´en e i ica ´ıa es e pa ´on. El subg a o ma cado 13 Con el in de ob ene m´e odos con olados de gene aci´on de consul as, en lo que sigue da emos un m´e odo cons uc i o pa a i e inando un GGQ po pasos uni a ios. Pa a ello, comenza emos iendo c´omo se compo an los GGQ cuando se clonan nodos. Un clon consis e en hace copias de nodos exis en es, clonando odas las a is as inciden es en ellos (y en e ellos, en caso de que clonemos a ios nodos que es ´an conec ados en el GGQ o iginal). Po supues o, la ope aci´on de clonaci´on se puede hace sob e g a os con p opiedades cualesquie a, y as´ı la p esen amos. De inici´on 12. Dado G= (V, E, µ)un g a o con p opiedades, y W⊆V, de inimos el clon de Gpo duplicaci´on de W, y lo no a emos po ClW G, como el g a o con p opiedades siguien e: ClW G= (V∪W0, E ∪E0, µ ∪ {(n0, µ(n))}n∈W∪ {(e0, µ(e))}e0∈E0) donde: pa a cada n∈W,n0es un nodo nue o, W0={n0:n∈W}, y E0es un conjun o de a is as nue as que se consiguen a pa i de las a is as inciden es en nodos de Wdonde se sus i uyen de odas las o mas posibles los nodos de Wpo copias de W0(de o ma que apa ecen a is as clonadas que conec an nodos o iginales con nodos copia, y ambi´en a is as clonadas que conec an nodos copia). Figu a 12: Clon de un g a o. La Figu a 12 mues a un ejemplo de un g a o clonado po dupliaci´on de dos de sus nodos. En el g a o o iginal, a la izquie da, se esal an los dos nodos a se clonados. El esul ado de la clonaci´on se p esen a en el g a o de la de echa. El siguien e esul ado nos indica que la clonaci´on de nodos posi i os no al e a la in e p e aci´on de las consul as. Teo ema 3. Si Q∈GGQ yW⊆V+ Q, en onces ClW Q≡Q. 20 Demos aci´on. Pa a acili a la no aci´on, sea Q1=ClW Q. En onces, siguiendo un azonamien o simila al de la demos aci´on an e io : Q1=^ n∈VQ1 Q1α(n) n =^ n∈VQ Q1α(n) n∧^ n∈W Q1α(n0) n0 =^ n∈VQ γQ(W) Q1α(n) n∧^ n∈γQ(W) Q1α(n) n∧^ n∈W Q1α(n0) n0 =^ n∈VQ γQ(W) Qα(n) n∧^ n∈γQ(W) Qα(n) n∧^ n∈W Qα(n) n =Q Siguiendo con la idea de ob ene he amien as que nos pe mi an cons ui GGQ de mane a au om´a ica, el concep o de e inamien o que in oducimos a con inuaci´on comple a las ope aciones que podemos hace pa a e ina un GGQ. En cie a o ma, un conjun o de e inamien o o ma una pa ici´on po e inamien os de un GGQ dado. De inici´on 13. Dado Q∈GGQ. Di emos que R⊆GGQ es un conjun o de e inamien o de Qen Gsi e i ica: 1. ∀Q0∈R(Q0GQ) 2. ∀S⊆G(SQ⇒ ∃!Q0∈R(SQ0)) Es amos ya en condiciones de da algunos conjun os de e inamien o que nos pe mi i ´an au oma iza los p ocesos de c eaci´on y modi icaci´on de Gene alized G aph Que ies. Comenza emos po la ope aci´on m´as sencilla, que consis e en e de qu´e o mas se pueden a˜nadi nue os nodos a un GGQ exis en e: Teo ema 4 (A˜nadi nodo nue o a Q).Dado Q∈GGQ ym /∈VQ, en onces el conjun o que no a emos como Q+{m}, o mado po : Q1= (VQ∪ {m}, EQ, αQ∪(m, +), θQ∪(m, T)) Q2= (VQ∪ {m}, EQ, αQ∪(m, −), θQ∪(m, T)) es un conjun o de e inamien o de Qen G(Fig. 13). Demos aci´on. Hemos de comp oba que se e i ican las dos condiciones nece- sa ias pa a que sea un conjun o de e inamien o: 1. Es e iden e que Q⊆−Q1yQ⊆−Q2, po lo que Q1QyQ2Q. 2. Sea S⊆G al que SQ. Tenemos que: Q1=Q∧Qm Q2=Q∧ ¬Qm donde Qm=∃ ∈V(T). Si G6=∅, en onces SQ1yS2Q2. Si G=∅, en onces S2Q1ySQ2. 21 Como no ma gene al, G6=∅, po lo que es a ope aci´on ealmen e no e ina, en el sen ido de que Q1≡QyQ2≡ ¬T. Sin emba go, a pesa de que ob enemos un GGQ equi alen e, es a ope aci´on es muy ´u il pa a a˜nadi nue os nodos a un GGQ a los que pos e io men e se le pod ´an i a˜nadiendo nue as es icciones. Figu a 13: Re inamien o a˜nadi nodo. Teniendo en cuen a los esul ados an e io es que daban elaciones en e las p opiedades es uc u ales del GGQ y su in e p e aci´on sem´an ica como consul- a, pasamos a da un segundo conjun o de e inamien o que nos indica c´omo in e iene la c eaci´on de a is as en e nodos exis en es. Pa a man ene que o- dos e inen al GGQ o iginal, hemos de es ingi la adici´on de a is as a los nodos posi i os. Teo ema 5 (A˜nadi a is a nue a en e nodos posi i os de Q).Dado Q∈GGQ yn, m ∈V+ Q, en onces el conjun o que deno a emos como Q+{n+e∗ −→ m+} (∗ ∈ {+,−}), o mado po (donde Q0=Cl{n,m} Q): Q1= (VQ0, EQ0∪ {n+e∗ −→ m+}, θQ0∪(e, T)) Q2= (VQ0, EQ0∪ {n+e∗ −→ m−}, θQ0∪(e, T)) Q3= (VQ0, EQ0∪ {n−e∗ −→ m+}, θQ0∪(e, T)) Q4= (VQ0, EQ0∪ {n−e∗ −→ m−}, θQ0∪(e, T)) es un conjun o de e inamien o de Qen G(Fig. 14). Demos aci´on. 1. Como Q0es un clon de Q, y {n, m} ⊆ V+ Q, enemos que Q≡Q0. Adem´as, po cons ucci´on, Q0⊆−Q1, Q2, Q3, Q4, po lo que Q1, Q2, Q3, Q4Q0≡ Q. 2. Conside emos los p edicados: Pn=∃ ∈V ^ a∈γ(n) Qα(a) a∧Qα(e) eo  Pm=∃ ∈V ^ a∈γ(m) Qα(a) a∧Qα(e) ei   22 Si SQnySQm, en onces enemos 4 opciones mu uamen e excluyen- es, seg´un se e i ique SPny/o SPm, que son: SPn∧SPm⇒SQ1 SPn∧S2Pm⇒SQ2 S2Pn∧SPm⇒SQ3 S2Pn∧S2Pm⇒SQ4 Si n=m(la a is a a˜nadida es un lazo), en onces el conjun o de e inamien o an e io queda educido a dos GGQ, los equi alen es a Q1yQ4. Figu a 14: Re inamien o a˜nadi a is a. La siguien e modi icaci´on necesa ia es la de a˜nadi un p edicado adicional a una a is a exis en e. Pa a man ene las condiciones es uc u ales necesa ias, es ingimos es a ope aci´on a las a is as posi i as que conec an nodos posi i os. Teo ema 6 (A˜nadi p edicado a a is a posi i a en e nodos posi i os de Q). Dado Q∈GGQ n, m ∈V+ Q, con n+e+ −→ m+, y ϕ∈FORM, el conjun o que no a emos como Q+{n+e∧ϕ −→ m+}, o mado po (donde Q0=Cl{n,m} Q): Q1=(VQ0, EQ0∪ {n+e0 −→ m+}, θQ0∪(e0, θe∧ϕ)) Q2=(VQ0, EQ0∪ {n+e0 −→ m−}, θQ0∪(e0, θe∧ϕ)) Q3=(VQ0, EQ0∪ {n−e0 −→ m+}, θQ0∪(e0, θe∧ϕ)) Q4=(VQ0, EQ0∪ {n−e0 −→ m−}, θQ0∪(e0, θe∧ϕ)) es un conjun o de e inamien o de Qen G(Fig. 15). Demos aci´on. La demos aci´on es simila a la ealizada en los casos an e io es. Po ´ul imo, la modi icaci´on que nos queda es la de a˜nadi p edicados a nodos exis en es. De nue o, hemos de es ingi es a ope aci´on a los casos que no plan ean p oblemas, cuando los nodos a ec ados son posi i os (el nodo al que se a˜nade el p edicado, y los conec ados a ´el). 23 Figu a 15: Re inamien o a˜nadi p edicado a a is a. Teo ema 7 (A˜nadi p edicado a nodo posi i o con en o no posi i o en Q). Dado Q∈GGQ,n∈V+ Q, con NQ(n)⊆V+ Q, y ϕ∈FORM. De inimos el conjun o que deno a emos como Q+{n∧ϕ} o mado po : {Qσ= (VQ0, EQ0, αQ0∪σ, θQ0∪(n0, θn∧ϕ)) : σ∈ {+,−}NQ(n)} donde Q0=ClNQ(n) Q, y {+,−}NQ(n)es el conjun o odas las posibles asignacio- nes de signo a los elemen os de NQ(n)(el en o no, en Q, del nodo n). En onces Q+{n∧ϕ}es un conjun o de e inamien o de Qen G(Fig. 16). Demos aci´on. La demos aci´on es simila a la ealizada en los casos an e io es. Solo hay que ene en cuen a que, cuando se modi ica el nodo n, no solo queda modi icado el Q-p edicado asociado a ´el sino ambi´en el de odos sus nodos adyacen es. Po ello, el p ocedimien o que se ha seguido pa a cub i odas las posibles opciones de asignaci´on de signos pa a los nodos in oluc ados es po medio del conjun o de unciones {+,−}NQ(n)( eco demos que en NQ(n) ambi´en se iene en cuen a el cen o, n). Se debe ene en cuen a que los e inamien os an e io es gene an es uc u as que pueden se simpli icadas. A con inuaci´on amos a de ini la ope aci´on p in- cipal que pe mi e simpli ica un GGQ de e minado ob eniendo o o equi alen e con meno n´ume o de elemen os. De inici´on 14. Dado Q∈GGQ, di emos que Q0⊆Qes edundan e en Qsi Q≡Q−Q0. Donde Q−Q0es el subg a o de Qdado po : (VQ VQ0, EQ (EQ0∪ {γ(n) : n∈VQ0}), µQ) Veamos un p ime esul ado que, analizando nodos, nos pe mi e ob ene e siones simpli icadas de un GGQ po medio de la eliminaci´on de nodos edun- dan es posi i os: Teo ema 8. Sea Q∈GGQ, y n∈V+ Q al que exis e m∈VQ e i icando: α(n) = α(m),θn≡θm. 24 Figu a 16: Re inamien o a˜nadi p edicado a nodo. Pa a cada e∈γ(n), exis e e0∈γ(m), e i icando α(e) = α(e0),θe=θe0y γ(e) {n}=γ(e0) {m}. En onces, nes edundan e en Q. Esencialmen e, la condici´on que impone el esul ado an e io es que msea un clon de npe o, posiblemen e, con m´as a is as conec adas. Teniendo en men e es a idea in ui i a, la p ueba es di ec a a pa i de las condiciones impues as. Podemos ob ene un esul ado simila pa a a is as po medio del siguien e esul ado: Teo ema 9. Sea Q∈GGQ, y dos a is as, e, e0∈EQ, ales que n+e −→ m+y n+e0 −→ m+. Si θe→θe0en onces e0es edundan e en Q. A pa i de los esul ados an e io es podemos da e siones simpli icadas de los conjun os de e inamien o is os, ag upando nodos posi i os y a is as posi i as en aquellos casos en los que, as la clonaci´on inicial, el signo del elemen o duplicado se ha man enido con el o iginal, as´ı como en los casos en los que el signo se ha man enido y se ha a˜nadido un p edicado adicional. En las Figu as 17 a 19 se mues an diag amas de los conjun os de e inamien o Q+{n∧ϕ},Q+{n+e∧ϕ −→ m+}yQ+{n∧ϕ}, espec i amen e, aplicando las simpli icaciones p esen adas. Po ejemplo, pa a cons ui el pa ´on P5una posibilidad se ´ıa segui la si- 25 Figu a 17: Re inamien o a˜nadi a is a (simpli icado). Figu a 18: Re inamien o a˜nadi p edicado a a is a (simpli icado). guien e secuencia de e inamien os (Fig. 20): Q1=Q∅+{n1} Q2=Q1+{n1∧( ∈S∧τ( )6=ins i u ion ∧τ( )6=clan} Q3=Q2+{n2} Q4=Q3+{n2 e1 −→ n1} P5=Q4+{n2 e1∧(τ(ρ)=DEVOTED TO) −→ n1} A pa i de la es uc u a de un GGQ no es ´acil ob ene un GGQ comple- men a io con ´el. Sin emba go, hay muchos p ocesos de an´alisis sob e g a os con p opiedades en los que necesi amos abaja con sucesiones de consul as que e i iquen algunas p opiedades de con enci´on y complemen a iedad como p e- dicados. Los e inamien os is os en es a secci´on ienen a cub i es a ca encia y pe mi en, po ejemplo, cons ui un ´a bol de pa iciones encajadas con los nodos e ique ados de la siguien e o ma (Fig. 21): El nodo a´ız es ´a e ique ado con Q0(un GGQ inicial cualquie a). Si un nodo del ´a bol es ´a e ique ado con Q, y R= (Q1, . . . , Qn) es un conjun o de e inamien o de Q, en onces sus nodos hijo se e ique an con los elemen os de R. 26 Figu a 19: Re inamien o a˜nadi p edicado a nodo (simpli icado). Figu a 20: Sucesi´on de e inamien os pa a P5. Obs´e ese que la cons ucci´on del ´a bol an e io depende po comple o de la elecci´on del conjun o de e inamien o que se elija en cada ami icaci´on. Los e inamien os que hemos p esen ado en los esul ados an e io es son una opci´on, pe o no es la ´unica posible. Po ejemplo, se pueden conside a e ina- mien os que, en ez de a˜nadi es icciones a elemen os posi i os, alige en las condiciones impues as po los elemen os nega i os, consiguiendo nue os GGQ que e inan al an e io , y usando la adici´on de p edicados po medio de la dis- yunci´on en ez de la conjunci´on. 7. Conclusiones y T abajo Fu u o En es e abajo hemos abo dado el obje i o de ob ene una he amien a pa a e alua subg a os inme sos en g a os con p opiedades de mane a que pueda se u ilizada en p ocedimien os de descub imien o de in o maci´on elacional. Pa a consegui una he amien a de es e ipo e a deseable e i ica a ios equisi os: Po una pa e, esul aba necesa io dispone de una g am´a ica que exp e- sase las consul as a e alua de una o ma ce cana a las p opias es uc u as 27 Figu a 21: ´ A bol de e inamien os. sob e las que iba a abaja . G acias a la capacidad exp esi a de los g a os gene alizados hemos p esen ado una he amien a de consul a que se puede exp esa de o ma na u al po medio de un g a o con p opiedades. Adem´as, e a necesa io do a al sis ema de consul a una base bien un- damen ada de p opiedades que nos asegu asen que, al se usadas como p edicados l´ogicos sob e g a os, se compo aban de mane a cohe en e y obus a. Es e esul ado se ha ob enido p esen ando las elaciones exis- en es en e la es uc u a opol´ogica de la consul a y las elaciones de implicaci´on po medio del e inado. Adem´as, e a necesa io, ya que en ambi´en las usa emos pa a gene a m´e o- dos au om´a icos de ap endizaje, que las consul as pudiesen se modi icadas de mane a con olada po medio de ope ado es a ´omicos que adujesen el con ol opol´ogico en un con ol l´ogico. En es e sen ido, se ha in odu- cido una p ime a amilia de e inamien os que pe mi en cons ui a pa i de una consul a inicial una colecci´on o denada de consul as que eco en las di e sas opciones de e i icaci´on, o mando un e ´ıculo comple o de consul as. Debido a que cualquie es uc u a de da os elacional puede se is a como un g a o, y cualquie consul a puede se is a como la b´usqueda de un pa ´on, la mayo ´ıa de lenguajes de consul a en bases de da os pueden se is os como he amien as (quiz´as p imi i as) de consul a de pa ones en g a os con p opie- dades. En es e abajo ambi´en se han analizado algunas de las he amien as de consul a exis en es, as´ı como la iabilidad pa a se u ilizadas en p ocedimien os au om´a icos. Una de las he amien as analizadas, los g a os de selecci´on, pe mi- e e alua egis os en bases de da os elacionales a a ´es de pa ones ac´ıclicos que pueden se e inados a pa i de ope aciones b´asicas, pe mi iendo ob ene pa ones complemen a ios en cada caso. Pa a ello, no equie e una p oyecci´on exac a del pa ´on que ep esen a el g a o de selecci´on sob e el subg a o a e a- lua , sino el cumplimien o de una se ie de p edicados exp esados a a ´es de dicho pa ´on. Debemos eco da que si se exige una p oyecci´on a la ho a de ea- liza la e i icaci´on de un pa ´on se complica la a ea de e alua la no exis encia de de e minados elemen os. Conc e amen e, los g a os de selecci´on, e al´uan la exis encia / no exis encia de caminos inciden es al egis o bajo e aluaci´on (solo son capaces de e alua egis os indi iduales), pa a ello se e i ica si se cumple 28 una conjunci´on de p edicados sob e caminos que pa en del egis o analizado, lo cual puede se is o como la e aluaci´on de exis encia de un ´a bol en aizado en el nodo que ep esen a el egis o bajo e aluaci´on. Los Gene alized G aph Que ies que hemos p esen ado aqu´ı ex ienden el con- cep o de g a o de selecci´on pe mi iendo la e aluaci´on de subg a os gene ales, m´as all´a de un ´unico nodo, y el uso de p edicados abie os a a ´es de la de inici´on de un lenguaje sob e los elemen os del g a o y pa ones c´ıclicos. Como se con ie e en un equisi o no usa una p oyecci´on pa a la e i icaci´on de un pa ´on, es os obje i os los hemos conseguido ex endiendo la o ma de e aluaci´on, que puede se is a como la e aluaci´on de un ´a bol en aizado po cada nodo p esen e en el pa ´on. A pesa de que po cada nodo de un GGQ se e al´ua la exis encia de un nodo que cumpla con las condiciones impues as po su p edicado y las a is as en las que pa icipa, al pe mi i que las a is as se iden i iquen con caminos en el g a o (Regula Pa e n Ma ching) se p oduce la e aluaci´on de un ´a bol po cada nodo, y no de un simple ´a bol. Las in e secciones que se p oducen en e los di e sos ´a boles y las es icciones impues as en los nodos pe mi en la e alua- ci´on de pa ones c´ıclicos en los GGQ, algo que no se hab´ıa conseguido en o as p opues as an e io es. Como hemos comen ado, al igual que los g a os de selecci´on, los GGQ se pue- den modi ica y cons ui a pa i de e inamien os, pe o a di e encia del caso simple de los g a os de selecci´on, no malmen e los e inamien os no son bina ios, ya que su aplicaci´on puede modi ica m´as de un p edicado en el pa ´on, dando luga a conjun os de ama˜no 2k(siendo kel n´ume o de p edicados modi ica- dos). A a ´es de la de inici´on de de e minadas ope aciones de simpli icaci´on y equi alencia, los e inamien os mos ados pueden se simpli icados dando luga a he amien as sencillas que pe mi en cons ui consul as complejas en g a os. En gene al, los e inamien os dan luga a pa iciones encajadas de las es uc- u as que e al´uan, lo que los con ie e en he amien as ideales pa a p ocedimien- os de caja blanca. T as habe lle ado a cabo una p ime a implemen aci´on como p ueba de concep o (pe o o almen e uncional), se ha demos ado expe imen- almen e que los GGQ son iables bajo condiciones sua es y que cumplen con los obje i os plan eados de ex ensi´on de las he amien as exis en es. Un uso expl´ıci o de es as capacidades ya ha sido lle ado a cabo en p ocedi- mien os de descub imien o de in o maci´on, en conc e o en el algo i mo GGQ- ID3, que hace uso de los Gene alized G aph Que ies como he amien as de es pa a la cons ucci´on de un ´a bol de decisi´on siguiendo los undamen os del amo- so algo i mo ID3. La elaci´on que gua dan los GGQ con GGQ-ID3 es equi alen e a la elaci´on que gua dan los g a os de selecci´on con el algo i mo MRDTL [13]. En los esul ados de los expe imen os lle ados a cabo, se mues a que GGQ-ID3 es capaz de ex ae pa ones in e esan es que pueden se u ilizados en a eas de ap endizaje complejas. Po o o lado, se pueden c ea amilias de e inamien os m´as complejos (po ejemplo, combina el e inamien o a˜nadi a is a con a˜nadi p opiedad a una a is a en un solo paso) pa a de es a mane a educi el n´ume o de pasos pa a ob ene GGQ complejos y amplia la po encia con espec o a los pasos a ´omicos que son menos in o ma i os. Si se lle a a cabo es a opci´on de mane a adecuada (uni icando los e inamien os en unci´on de la ecuencia de apa ici´on de es- uc u as en un g a o, po ejemplo) se puede consegui que los algo i mos de descub imien o que hacen uso de GGQ se ace quen de mane a m´as ´apida a una buena soluci´on. En es e caso se consigue una mejo a en la e iciencia sac i icando 29