graph database querying vs string constraints
play

Graph Database Querying vs String Constraints Pablo Barcel o - PowerPoint PPT Presentation

Graph Database Querying vs String Constraints Pablo Barcel o Millennium Institute for Foundational Research on Data & DCC, University of Chile INTRODUCTION Graph DBs and applications Graph DBs are crucial when topology is as


  1. Complexity of finding regular paths Theorem (Folklore) RegularPath can be solved in time O ( |G| · | L | ) Proof idea: ◮ Compute in linear time from L an equivalent NFA A ◮ Compute in linear time ( G ± , v , v ′ ): NFA obtained from G ± by setting v and v ′ as initial and final states, respectively ◮ Then ( v , v ′ ) ∈ L ( G ) iff NFA ( G ± , v , v ′ ) × A is nonempty ◮ The latter can be checked in time O ( |G ± | · |A| ) = O ( |G| · | L | )

  2. Complexity of finding regular paths Theorem (Folklore) RegularPath can be solved in time O ( |G| · | L | ) Proof idea: ◮ Compute in linear time from L an equivalent NFA A ◮ Compute in linear time ( G ± , v , v ′ ): NFA obtained from G ± by setting v and v ′ as initial and final states, respectively ◮ Then ( v , v ′ ) ∈ L ( G ) iff NFA ( G ± , v , v ′ ) × A is nonempty ◮ The latter can be checked in time O ( |G ± | · |A| ) = O ( |G| · | L | )

  3. Complexity of finding regular paths Theorem (Folklore) RegularPath can be solved in time O ( |G| · | L | ) Proof idea: ◮ Compute in linear time from L an equivalent NFA A ◮ Compute in linear time ( G ± , v , v ′ ): NFA obtained from G ± by setting v and v ′ as initial and final states, respectively ◮ Then ( v , v ′ ) ∈ L ( G ) iff NFA ( G ± , v , v ′ ) × A is nonempty ◮ The latter can be checked in time O ( |G ± | · |A| ) = O ( |G| · | L | )

  4. Complexity of finding regular paths Theorem (Folklore) RegularPath can be solved in time O ( |G| · | L | ) Proof idea: ◮ Compute in linear time from L an equivalent NFA A ◮ Compute in linear time ( G ± , v , v ′ ): NFA obtained from G ± by setting v and v ′ as initial and final states, respectively ◮ Then ( v , v ′ ) ∈ L ( G ) iff NFA ( G ± , v , v ′ ) × A is nonempty ◮ The latter can be checked in time O ( |G ± | · |A| ) = O ( |G| · | L | )

  5. Complexity of finding regular paths Theorem (Folklore) RegularPath can be solved in time O ( |G| · | L | ) Proof idea: ◮ Compute in linear time from L an equivalent NFA A ◮ Compute in linear time ( G ± , v , v ′ ): NFA obtained from G ± by setting v and v ′ as initial and final states, respectively ◮ Then ( v , v ′ ) ∈ L ( G ) iff NFA ( G ± , v , v ′ ) × A is nonempty ◮ The latter can be checked in time O ( |G ± | · |A| ) = O ( |G| · | L | )

  6. Complexity of 2RPQ evaluation Corollary Eval (2RPQ) can be solved in linear time O ( |G| · | L | )

  7. Data complexity of 2RPQ evaluation Data complexity of 2RPQs belongs to a parallelizable class: Proposition Let L be a fixed 2RPQ. There is NLogspace procedure that computes L ( G ) for each G Proof idea: ◮ Construct ( G ± , v , v ′ ) from G in Logspace ◮ Check nonemptiness for ( G ± , v , v ′ ) × A in NLogspace

  8. Conjunctive regular path queries (CRPQs) RPQs still do not express arbitrary patterns over graph DBs. ◮ To do this we need to close RPQs under joins and projection

  9. Conjunctive regular path queries (CRPQs) RPQs still do not express arbitrary patterns over graph DBs. ◮ To do this we need to close RPQs under joins and projection This is the class of conjunctive regular path queries (CRPQs). ◮ Extended with inverses as C2RPQs in [Calvanese et al. (2000)]

  10. Example of C2RPQ The C2RPQ Ans ( x , u ) ← ( x , creator − , y ) , ( y , partOf · series , z ) , ( y , creator , u ) computes pairs ( a 1 , a 2 ) that are coauthors of a conference paper journal creator journal:jacm Jacm:HopcroftT74 :Robert E Tarjan creator series partOf creator conf:focs inFocs:FOCS8 Focs:HopU67a :John E. Hopcroft creator partOf creator inPods:89 Pods:Ullman89 :Jeffrey Ullman creator series series partOf creator conf:pods inPods:83 Pods:FaginUV83 :Ronald Fagin creator series partOf creator inPods:95 Pods:Vardi95 :Moshe Y. Vardi partOf creator Pods:Libkin95 :Leonid Libkin creator journal creator journal:IPL IPL:LibkinW95 :Limsoon Wong

  11. Example of C2RPQ The C2RPQ Ans ( x , u ) ← ( x , creator − , y ) , ( y , partOf · series , z ) , ( y , creator , u ) computes pairs ( a 1 , a 2 ) that are coauthors of a conference paper journal creator journal:jacm Jacm:HopcroftT74 :Robert E Tarjan creator series partOf creator conf:focs inFocs:FOCS8 Focs:HopU67a :John E. Hopcroft creator u partOf creator inPods:89 Pods:Ullman89 :Jeffrey Ullman creator series series partOf creator conf:pods inPods:83 Pods:FaginUV83 :Ronald Fagin creator series partOf creator inPods:95 Pods:Vardi95 :Moshe Y. Vardi partOf z creator y Pods:Libkin95 :Leonid Libkin creator x journal creator journal:IPL IPL:LibkinW95 :Limsoon Wong

  12. Example of C2RPQ The C2RPQ Ans ( x , u ) ← ( x , creator − , y ) , ( y , partOf · series , z ) , ( y , creator , u ) computes pairs ( a 1 , a 2 ) that are coauthors of a conference paper journal creator journal:jacm Jacm:HopcroftT74 :Robert E Tarjan creator series partOf creator conf:focs inFocs:FOCS8 Focs:HopU67a :John E. Hopcroft creator a 2 partOf creator inPods:89 Pods:Ullman89 :Jeffrey Ullman creator series series partOf creator conf:pods inPods:83 Pods:FaginUV83 :Ronald Fagin creator series partOf creator inPods:95 Pods:Vardi95 :Moshe Y. Vardi partOf creator Pods:Libkin95 :Leonid Libkin a 1 creator journal creator journal:IPL IPL:LibkinW95 :Limsoon Wong

  13. C2RPQ: Formal definition C2RPQ over Σ: Rule of the form Ans (¯ z ) ← ( x 1 , L 1 , y 1 ) , . . . , ( x m , L m , y m ) , such that ◮ the x i , y i are variables, ◮ each L i is a 2RPQ over Σ, ◮ the output ¯ z has some variables among the x i , y i ’s

  14. C2RPQ: Formal definition C2RPQ over Σ: Rule of the form Ans (¯ z ) ← ( x 1 , L 1 , y 1 ) , . . . , ( x m , L m , y m ) , such that ◮ the x i , y i are variables, ◮ each L i is a 2RPQ over Σ, ◮ the output ¯ z has some variables among the x i , y i ’s CRPQ: C2RPQ without inverse

  15. Complexity of evaluation of C2RPQs Increase in expressiveness from RPQs has a cost in evaluation Proposition Eval (C2RPQ) is NP -complete, even if restricted to CRPQs

  16. Complexity of evaluation of C2RPQs Increase in expressiveness from RPQs has a cost in evaluation Proposition Eval (C2RPQ) is NP -complete, even if restricted to CRPQs But adding conjunctions is free in data complexity Proposition Eval (C2RPQ) can be solved in NLogspace in data complexity

  17. PATH QUERIES: The power of comparisons

  18. CRPQs and path queries CRPQs fall short of expressive power for applications that need: ◮ to include paths in the output of a query, and ◮ to define complex relationships among labels of paths

  19. CRPQs and path queries CRPQs fall short of expressive power for applications that need: ◮ to include paths in the output of a query, and ◮ to define complex relationships among labels of paths Examples: ◮ Semantic Web queries: • establish semantic associations among paths ◮ Biological applications: • compare paths based on similarity ◮ Route-finding applications: • compare paths based on length or number of occurences of labels ◮ Data provenance and semantic search over the Web: • require returning paths to the user

  20. Path comparisons We use a set S of relations on words. ◮ Example: S may contain • Unary relations: Regular, context-free languages, etc. • Binary relations: prefix, equal length, subsequence, etc. ◮ Comparisons among labels of paths = Pertenence to some S ∈ S • Example: w 1 is a substring of w 2 ◮ We assume S contains all regular languages

  21. Extended CRPQs The S -extended CRPQs (ECRPQ( S )) are rules obtained from a CRPQ: Ans (¯ z , ) ← ( x 1 , L 1 , y 1 ) , . . . , ( x m , L m , y m ) , ◮ by joining each pair ( x i , y i ) with a path variable π i , ◮ comparing labels of paths in ¯ π j wrt S j ∈ S • for ¯ π j a tuple of path variables among the π i ’s, ◮ projecting some of π i ’s as a tuple ¯ χ in the output

  22. Extended CRPQs The S -extended CRPQs (ECRPQ( S )) are rules obtained from a CRPQ: Ans (¯ z , ) ← ( x 1 , π 1 , y 1 ) , . . . , ( x m , π m , y m ) , ◮ by joining each pair ( x i , y i ) with a path variable π i , ◮ comparing labels of paths in ¯ π j wrt S j ∈ S • for ¯ π j a tuple of path variables among the π i ’s, ◮ projecting some of π i ’s as a tuple ¯ χ in the output

  23. Extended CRPQs The S -extended CRPQs (ECRPQ( S )) are rules obtained from a CRPQ: z , ) ← ( x 1 , π 1 , y 1 ) , . . . , ( x m , π m , y m ) , � Ans (¯ 1 ≤ j ≤ t S j (¯ π j ) ◮ by joining each pair ( x i , y i ) with a path variable π i , ◮ comparing labels of paths in ¯ π j wrt S j ∈ S • for ¯ π j a tuple of path variables among the π i ’s, ◮ projecting some of π i ’s as a tuple ¯ χ in the output

  24. Extended CRPQs The S -extended CRPQs (ECRPQ( S )) are rules obtained from a CRPQ: χ ) ← ( x 1 , π 1 , y 1 ) , . . . , ( x m , π m , y m ) , � Ans (¯ z , ¯ 1 ≤ j ≤ t S j (¯ π j ) ◮ by joining each pair ( x i , y i ) with a path variable π i , ◮ comparing labels of paths in ¯ π j wrt S j ∈ S • for ¯ π j a tuple of path variables among the π i ’s, ◮ projecting some of π i ’s as a tuple ¯ χ in the output

  25. Extended CRPQs and our requirements ECRPQs meet our requirements: Ans (¯ z , ¯ χ ) ← ( x 1 , π 1 , y 1 ) , . . . , ( x m , π m , y m ) , � 1 ≤ j ≤ t S j (¯ π j )

  26. Extended CRPQs and our requirements ECRPQs meet our requirements: Ans (¯ z , ¯ χ ) ← ( x 1 , π 1 , y 1 ) , . . . , ( x m , π m , y m ) , � 1 ≤ j ≤ t S j (¯ π j ) ◮ They allow to export paths in the output ◮ They allow to compare labels of paths with relations S j ∈ S

  27. Extended CRPQs and our requirements ECRPQs meet our requirements: Ans (¯ z , ¯ χ ) ← ( x 1 , π 1 , y 1 ) , . . . , ( x m , π m , y m ) , � 1 ≤ j ≤ t S j (¯ π j ) ◮ They allow to export paths in the output ◮ They allow to compare labels of paths with relations S j ∈ S

  28. Considerations about ECRPQ( S ) • ECRPQ( S ) extends the class of CRPQs ◮ Ans (¯ z ) ← � z ) ← � i ( x i , L i , y i ) = Ans (¯ i ( x i , π i , y i ) , L i ( π i ) • Expressiveness and complexity of ECRPQ( S ): ◮ Depends on the class S • We study two such classes with roots in formal language theory: ◮ Regular relations [Elgot, Mezei (1965)] ◮ Rational relations [Nivat (1968)]

  29. COMPARING PATHS WITH REGULAR RELATIONS: Preserving tractable data complexity

  30. Introduction • Regular relations: Regular languages for relations of any arity ◮ REG: Class of regular relations • Bottomline: ECRPQ(REG): Reasonable expressiveness and complexity

  31. Regular relations n -ary regular relation: Set of n -tuples ( w 1 , . . . , w n ) of strings accepted by synchronous automaton over Σ n

  32. Regular relations n -ary regular relation: Set of n -tuples ( w 1 , . . . , w n ) of strings accepted by synchronous automaton over Σ n ◮ The input strings are written in the n -tapes ◮ Shorter strings are padded with symbol ⊥ ◮ At each step: The automaton simultaneously reads next symbol on each tape

  33. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a w 3 = b b · · · . . . . . . w n = a b b · · · a c

  34. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥

  35. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥ ⇑

  36. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥ ⇑

  37. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥ ⇑

  38. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥ ⇑

  39. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥ ⇑

  40. Synchronous automata w 1 = a a b · · · a b c w 2 = a b a · · · a ⊥ ⊥ w 3 = b b ⊥ · · · ⊥ ⊥ ⊥ . . . . . . w n = a b b · · · a c ⊥ ⇑

  41. Examples of regular relations • All regular languages • The prefix relation defined by: � ∗ · � � � � � ∗ ( a , a ) ( a , ⊥ ) a ∈ Σ a ∈ Σ • The equal length relation defined by: � ∗ � � ( a , b ) a , b ∈ Σ • Pairs of strings at edit distance at most k , for fixed k ≥ 0

  42. Examples of regular relations • All regular languages • The prefix relation defined by: � ∗ · � � � � � ∗ ( a , a ) ( a , ⊥ ) a ∈ Σ a ∈ Σ • The equal length relation defined by: � ∗ � � ( a , b ) a , b ∈ Σ • Pairs of strings at edit distance at most k , for fixed k ≥ 0 Proposition The subsequence, subword and suffix relations are not regular

  43. ECRPQ(REG) ECRPQ(REG): Class of queries of the form Ans (¯ z , ¯ χ ) ← � i ( x i , π i , y i ) , � j S j (¯ π j ) , where each S j is a regular relation [B., Libkin, Lin, Wood (2012)]

  44. ECRPQ(REG) ECRPQ(REG): Class of queries of the form Ans (¯ z , ¯ χ ) ← � i ( x i , π i , y i ) , � j S j (¯ π j ) , where each S j is a regular relation [B., Libkin, Lin, Wood (2012)] Example: The ECRPQ(REG) query Ans ( x , y ) ← ( x , π 1 , z ) , ( z , π 2 , y ) , a ∗ ( π 1 ) , b ∗ ( π 2 ) , equal length ( π 1 , π 2 ) computes pairs of nodes linked by a path labeled in { a n b n | n ≥ 0 }

  45. ECRPQ(REG) ECRPQ(REG): Class of queries of the form Ans (¯ z , ¯ χ ) ← � i ( x i , π i , y i ) , � j S j (¯ π j ) , where each S j is a regular relation [B., Libkin, Lin, Wood (2012)] Example: The ECRPQ(REG) query Ans ( x , y ) ← ( x , π 1 , z ) , ( z , π 2 , y ) , a ∗ ( π 1 ) , b ∗ ( π 2 ) , equal length ( π 1 , π 2 ) computes pairs of nodes linked by a path labeled in { a n b n | n ≥ 0 } Corollary ECRPQ(REG) properly extends the class of CRPQs

  46. Complexity of evaluation of ECRPQ(REG) • Extending CRPQs with regular relations is free in data complexity • Combined complexity is that of FO over relational databases Theorem (B., Libkin, Lin, Wood (2012)) ◮ Eval (ECPRQ(REG)) is Pspace -complete ◮ Eval (ECPRQ(REG)) is in NLogspace in data complexity

  47. Complexity of evaluation of ECRPQ(REG) • Extending CRPQs with regular relations is free in data complexity • Combined complexity is that of FO over relational databases Theorem (B., Libkin, Lin, Wood (2012)) ◮ Eval (ECPRQ(REG)) is Pspace -complete ◮ Eval (ECPRQ(REG)) is in NLogspace in data complexity Proof idea: ◮ Convert into RPQ evaluation over G m , for m = size of ECRPQ ◮ For data complexity m is fixed

  48. Expressiveness of ECRPQ(REG) Understanding the expressive power of ECRPQ(REG) is difficult. Proposition Let L be a language of words. TFAE: ◮ L is expressible by a binary ECRPQ(REG) formula ◮ L is definable by a word equation with constraints in REG

  49. COMPARING PATHS WITH RATIONAL RELATIONS: The struggle for decidability and efficiency

  50. Introduction ECRPQ(REG) queries are still short of expressive power. ◮ RDF or biological networks: • Compare strings based on subsequence and subword relations ◮ These relations are rational: Accepted by asynchronous automata • RAT: Class of rational relations Bottomline: ◮ ECRPQ(RAT) evaluation: • Undecidable or very high complexity ◮ Restricting the syntactic shape of queries yields tractability

  51. Rational relations n -ary rational relation: Set of n -tuples ( w 1 , . . . , w n ) of strings accepted by asynchronous automaton with n heads.

  52. Rational relations n -ary rational relation: Set of n -tuples ( w 1 , . . . , w n ) of strings accepted by asynchronous automaton with n heads. ◮ The input strings are written in the n -tapes ◮ At each step: The automaton enters a new state and move some tape heads

  53. Rational relations n -ary rational relation: Set of n -tuples ( w 1 , . . . , w n ) of strings accepted by asynchronous automaton with n heads. ◮ The input strings are written in the n -tapes ◮ At each step: The automaton enters a new state and move some tape heads n -ary rational relation: Described by regular expression over alphabet (Σ ∪ { ǫ } ) n

  54. Examples of rational relations • All regular relations • The subsequence relation � ss defined by � ∗ �� � � ∗ � � ∗ � � ( a , ǫ ) ( b , b ) · ( a , ǫ ) a ∈ Σ b ∈ Σ a ∈ Σ • The subword relation � sw defined by � ∗ · � ∗ · � ∗ � � � � � � ( a , ǫ ) ( b , b ) ( a , ǫ ) a ∈ Σ b ∈ Σ a ∈ Σ

  55. Examples of rational relations • All regular relations • The subsequence relation � ss defined by � ∗ �� � � ∗ � � ∗ � � ( a , ǫ ) ( b , b ) · ( a , ǫ ) a ∈ Σ b ∈ Σ a ∈ Σ • The subword relation � sw defined by � ∗ · � ∗ · � ∗ � � � � � � ( a , ǫ ) ( b , b ) ( a , ǫ ) a ∈ Σ b ∈ Σ a ∈ Σ Proposition The set of pairs ( w 1 , w 2 ) such that w 1 is the reversal of w 2 is not rational.

  56. ECRPQ(RAT) ECRPQ(RAT): Class of queries of the form Ans (¯ z , ¯ χ ) ← � i ( x i , π i , y i ) , � j S j (¯ π j ) , where each S j is a rational relation [B., Figueira, Libkin (2012)] Example: The ECRPQ(RAT) query Ans ( x , y ) ← ( x , π 1 , z ) , ( y , π 2 , w ) , π 1 � ss π 2 computes x , y that are origins of paths ρ 1 and ρ 2 such that: ◮ λ ( ρ 1 ) is a subsequence of λ ( ρ 2 )

  57. Evaluation of ECRPQ(RAT) queries Evaluation of queries in ECRPQ(RAT) is undecidable, but: ◮ True if we allow only practically motivated rational relations? • For example, � ss and � sw

  58. Evaluation of ECRPQ(RAT) queries Evaluation of queries in ECRPQ(RAT) is undecidable, but: ◮ True if we allow only practically motivated rational relations? • For example, � ss and � sw Adding subword relation to ECRPQ(REG) leads to undecidability: Theorem (B., Figueira, Libkin (2012)) Eval (ECRPQ(REG ∪{� sw } )) is undecidable (even in data complexity)

  59. Evaluation of ECRPQ(RAT) queries Evaluation of queries in ECRPQ(RAT) is undecidable, but: ◮ True if we allow only practically motivated rational relations? • For example, � ss and � sw Adding subword relation to ECRPQ(REG) leads to undecidability: Theorem (B., Figueira, Libkin (2012)) Eval (ECRPQ(REG ∪{� sw } )) is undecidable (even in data complexity) Adding subword to CRPQ leads to intractability in data complexity: Theorem (B., Mu˜ noz (2014)) Eval (CRPQ( � sw )) is PSPACE -complete in data complexity ◮ But Eval (CRPQ( � suff )) is in NLogspace in data complexity

  60. Consequences for word equations Observation 1: Pspace upper bound for CRPQ( � sw ) ◮ Uses Pspace procedure for word equations with regular expressions

  61. Consequences for word equations Observation 1: Pspace upper bound for CRPQ( � sw ) ◮ Uses Pspace procedure for word equations with regular expressions Observation 2: There exists a fixed word equation e such that ◮ solving e under a single constraint in REG is undecidable ◮ solving e with regular language constraints is Pspace -complete

  62. Evaluation of ECRPQ(RAT) queries Adding subsequence to ECRPQ preserves decidability at a very high cost: Theorem (B., Figueira, Libkin (2012)) Eval (ECRPQ(REG ∪{� ss } )) is decidable, but non-primitive-recursive. ◮ This holds even in data complexity.

  63. Evaluation of ECRPQ(RAT) queries Adding subsequence to ECRPQ preserves decidability at a very high cost: Theorem (B., Figueira, Libkin (2012)) Eval (ECRPQ(REG ∪{� ss } )) is decidable, but non-primitive-recursive. ◮ This holds even in data complexity. Adding subsequence to CRPQ leads to intractability in data complexity: Theorem (B., Mu˜ noz (2014)) Eval (CRPQ( � ss )) is NP -complete in data complexity

  64. Evaluation of ECRPQ(RAT) queries Adding subsequence to ECRPQ preserves decidability at a very high cost: Theorem (B., Figueira, Libkin (2012)) Eval (ECRPQ(REG ∪{� ss } )) is decidable, but non-primitive-recursive. ◮ This holds even in data complexity. Adding subsequence to CRPQ leads to intractability in data complexity: Theorem (B., Mu˜ noz (2014)) Eval (CRPQ( � ss )) is NP -complete in data complexity Observation 3: Word equations + � ss undecidable [Halfon et al (2017)] ◮ Is this also the case for Eval (CRPQ( � ss ∪ � sw ))?

  65. Acyclic CRPQ(RAT) queries Acyclic CRPQ(RAT) queries yield tractable data complexity. ◮ Queries of the form � � Ans (¯ z ) ← ( x i , π i , y i ) , L i ( π i ) , S j ( π j 1 , π j 2 ) , i ≤ k j where the graph on { 1 , . . . , k } defined by edges ( π j 1 , π j 2 ) is acyclic

  66. Acyclic CRPQ(RAT) queries Acyclic CRPQ(RAT) queries yield tractable data complexity. ◮ Queries of the form � � Ans (¯ z ) ← ( x i , π i , y i ) , L i ( π i ) , S j ( π j 1 , π j 2 ) , i ≤ k j where the graph on { 1 , . . . , k } defined by edges ( π j 1 , π j 2 ) is acyclic Acyclic ECRPQ(RAT) is not more expensive than ECRPQ(REG): Theorem (B., Figueira, Libkin (2012)) ◮ Evaluation of acyclic ECRPQ(RAT) queries is Pspace -complete ◮ It is in NLogspace in data complexity

  67. STRING SOLVING: Applying previous ideas

  68. The problem we study We study satisfiability for conjunctions of: ◮ Atomic relational constraints: y = x 1 · · · x n | R ( x , y ) ◮ Boolean combinations of regular expressions: L ( x ) | ϕ ∧ ψ | ¬ ϕ

  69. The problem we study We study satisfiability for conjunctions of: ◮ Atomic relational constraints: y = x 1 · · · x n | R ( x , y ) ◮ Boolean combinations of regular expressions: L ( x ) | ϕ ∧ ψ | ¬ ϕ Example: x = w 1 yw 2 zw 3 ∧ R ( y , z ) ∧ ¬ S ( z )

  70. The problem we study We study satisfiability for conjunctions of: ◮ Atomic relational constraints: y = x 1 · · · x n | R ( x , y ) ◮ Boolean combinations of regular expressions: L ( x ) | ϕ ∧ ψ | ¬ ϕ Example: x = w 1 yw 2 zw 3 ∧ R ( y , z ) ∧ ¬ S ( z ) This class is ◮ Useful: Encodes transductions often used in web security applications, e.g., replace all ◮ Very expressive: Subsumes word equations with rational constraints

  71. In full generality the problem is undecidable Proposition Satisfiability of expressions R ( x , x ) is undecidable

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend