Package

es.weso

rbe

Permalink

package rbe

Implementation of Regular Bag Expressions.

More details about the algorithm can be found at: ICDT paper

Overview

A Schema is defined as a map from Labels to Shape. A Shape contains a Rbe.

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. rbe
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. case class And[A](v1: Rbe[A], v2: Rbe[A]) extends Rbe[A] with Product with Serializable

    Permalink

    And(v1,v2) represents both v1 and v2

  2. trait Candidate[Edge, +Node, +Label, +Err] extends AnyRef

    Permalink

    A candidate to match

  3. case class ConjRef[Label](labels: Seq[Label]) extends NodeShape[Label, Nothing, Nothing] with Product with Serializable

    Permalink

    Reference to a sequence of labels

  4. final case class ConstraintRef(value: Int) extends AnyVal with Ordered[ConstraintRef] with Product with Serializable

    Permalink

    value

    reference value of this constraint

  5. case class Direct[Edge, Node](edge: Edge, node: Node) extends Neigh[Edge, Node] with Product with Serializable

    Permalink

    A neighbor of a node through a direct edge

  6. case class DirectEdge[Edge](edge: Edge) extends DirectedEdge[Edge] with Product with Serializable

    Permalink
  7. trait DirectedEdge[Edge] extends AnyRef

    Permalink

    Represents directed edges

    Represents directed edges

    It can be direct or inverse

  8. case class DisjRef[Label](labels: Seq[Label]) extends NodeShape[Label, Nothing, Nothing] with Product with Serializable

    Permalink

    Reference to an sequence of labels which are disjunctive

  9. case class Err(str: String) extends Product with Serializable

    Permalink
  10. case class Fail(msg: String) extends Rbe[Nothing] with Product with Serializable

    Permalink

    Fail RBE doesn't match

  11. trait Graph[Edge, Node] extends AnyRef

    Permalink

    Generic representation of graphs

  12. case class GraphMap[Edge, Node](m: Map[Node, Seq[(Edge, Node)]]) extends Graph[Edge, Node] with Product with Serializable

    Permalink

    Implementation of graph as a map

  13. case class IntLimit(m: Int) extends IntOrUnbounded with Requirements with Product with Serializable

    Permalink

    Positive integers

  14. trait IntOrUnbounded extends AnyRef

    Permalink

    Represents a limit of an interval.

    Represents a limit of an interval. It can be either an Int or an Unbounded value

  15. case class IntOrUnboundedException(msg: String) extends Exception with Product with Serializable

    Permalink
  16. case class Interval(n: IntOrUnbounded, m: IntOrUnbounded) extends Product with Serializable

    Permalink

    Definition of intervals (m,n) where m and n can be unbounded

  17. case class IntervalsException(msg: String) extends Exception with Product with Serializable

    Permalink
  18. case class Inverse[Edge, Node](edge: Edge, node: Node) extends Neigh[Edge, Node] with Product with Serializable

    Permalink

    A neighbor of a node through an inverse edge

  19. case class InverseEdge[Edge](edge: Edge) extends DirectedEdge[Edge] with Product with Serializable

    Permalink
  20. case class Missing[Edge, Node, Err](n: ConstraintRef, arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Nothing, Err] with Product with Serializable

    Permalink

    A missing candidate

  21. case class Neg[Edge, Node, E](n: ConstraintRef, arc: (Node, Edge, Node), edge: DirectedEdge[Edge], errors: Seq[E]) extends Candidate[Edge, Node, Nothing, E] with Product with Serializable

    Permalink

    A negative candidate

  22. sealed trait Neigh[Edge, Node] extends AnyRef

    Permalink

    Represents a neighbor of a node in a graph.

    Represents a neighbor of a node in a graph. It can be a direct arc or an inverse arc

  23. sealed trait NodeShape[+Label, +Node, +Err] extends AnyRef

    Permalink

    A node shape

  24. case class Or[A](v1: Rbe[A], v2: Rbe[A]) extends Rbe[A] with Product with Serializable

    Permalink

    Or(v1,v2) represents either v1 or v2

  25. case class OrShape[+Label, +Node, +Err](ns: Seq[NodeShape[Label, Node, Err]]) extends NodeShape[Label, Node, Err] with Product with Serializable

    Permalink
  26. case class Pending[Edge, Node, Label](n: ConstraintRef, node: Node, ref: Label, arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Label, Nothing] with Product with Serializable

    Permalink

    A candidate that is pending

  27. case class PendingAlt[Edge, Node, Label](n: ConstraintRef, node: Node, ref: Seq[Label], arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Label, Nothing] with Product with Serializable

    Permalink
  28. case class PendingNot[Edge, Node, Label](n: ConstraintRef, node: Node, ref: Label, arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Label, Nothing] with Product with Serializable

    Permalink
  29. case class PendingOr[Edge, Node, Label, E](n: ConstraintRef, node: Node, es: Seq[NodeShape[Label, Node, E]], arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Label, E] with Product with Serializable

    Permalink
  30. case class PendingSeq[Edge, Node, Label](n: ConstraintRef, node: Node, ref: Seq[Label], arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Label, Nothing] with Product with Serializable

    Permalink
  31. case class Plus[A](v: Rbe[A]) extends Rbe[A] with Product with Serializable

    Permalink

    Plus(v) represents 1 or more appearances of v

  32. case class Pos[Edge, Node](ref: ConstraintRef, arc: (Node, Edge, Node), edge: DirectedEdge[Edge]) extends Candidate[Edge, Node, Nothing, Nothing] with Product with Serializable

    Permalink

    A positive candidate

  33. case class Pred[Node, Err](name: String)(pred: (Node) ⇒ Checker[Node, Err]) extends NodeShape[Nothing, Node, Err] with Product with Serializable

    Permalink

    Boolean Constraint on nodes (it has a name and a predicate).

    Boolean Constraint on nodes (it has a name and a predicate).

    Note: pred is defined in the 2nd parameter section to avoid equality and hashing of functions

  34. case class RDFAsGraph(rdf: RDFReader) extends Graph[IRI, RDFNode] with Logging with Product with Serializable

    Permalink

    RDF as graphs

  35. sealed trait Rbe[+A] extends Logging

    Permalink

    This trait defines Single Occurrence Regular Bag Expressions (Rbe)

    This trait defines Single Occurrence Regular Bag Expressions (Rbe)

    Further info

    The algorithm to check that a Rbe contains a bag is PTIME The algorithm has been described in [1] and is based on intervals

    [1] Complexity and Expressiveness of ShEx for RDF, S. Staworko, I. Boneva, J. Labra, S. Hym, E. Prud'hommeaux, H. Solbrig

  36. case class RbeException(msg: String) extends Exception with Product with Serializable

    Permalink

    RBE exceptions

  37. case class Ref[Label](label: Label) extends NodeShape[Label, Nothing, Nothing] with Product with Serializable

    Permalink

    Reference to another label

  38. case class RefNot[Label](label: Label) extends NodeShape[Label, Nothing, Nothing] with Product with Serializable

    Permalink

    Negation of a expression

  39. case class Repeat[A](v: Rbe[A], n: Int, m: IntOrUnbounded) extends Rbe[A] with Product with Serializable

    Permalink

    Repeat(v,n,m) represents between n and m apperances of v

  40. case class SESchemaException(msg: String) extends Exception with Product with Serializable

    Permalink
  41. case class Schema[Edge, Node, Label, Err](m: Map[Label, Shape[DirectedEdge[Edge], Node, Label, Err]], ignored: Seq[DirectedEdge[Edge]]) extends Logging with Product with Serializable

    Permalink

    Defines a Schema which is a map from Labels to Shapes

  42. case class Shape[Edge, Node, Label, Err](rbe: Rbe[(Edge, NodeShape[Label, Node, Err])], extras: Seq[Edge], closed: Boolean) extends Product with Serializable

    Permalink

    A shape contains a regular bag expression, a closed modifier and a list of extras

    A shape contains a regular bag expression, a closed modifier and a list of extras

    rbe

    regular bag expression

    extras

    list of extra edges that are allowed

    closed

    the shape is closed

  43. case class Star[A](v: Rbe[A]) extends Rbe[A] with Product with Serializable

    Permalink

    Star(v) represents 0 or more v

  44. trait StringGraph extends Graph[String, String]

    Permalink

    Simple graphs whose nodes and edges are strings They are used for testing purposes only

  45. case class Symbol[+A](a: A, n: Int, m: IntOrUnbounded) extends Rbe[A] with Product with Serializable

    Permalink

    Represents a symbol that is repeated between n and m times (m can be unbounded)

  46. case class Table[Edge, Node, Label, Err](constraints: Map[ConstraintRef, NodeShape[Label, Node, Err]], edges: Map[DirectedEdge[Edge], Set[ConstraintRef]], elems: Int) extends Product with Serializable

    Permalink

Value Members

  1. object Empty extends Rbe[Nothing] with Product with Serializable

    Permalink

    Empty RBE

  2. object Graph

    Permalink
  3. object IntOrUnbounded

    Permalink
  4. object NodeShape

    Permalink

    Some common node shapes

  5. object Schema extends Serializable

    Permalink
  6. object Shape extends Serializable

    Permalink
  7. object StringGraph

    Permalink
  8. object Table extends Serializable

    Permalink
  9. object Unbounded extends IntOrUnbounded with Product with Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped