es.weso.rbe

package es.weso.rbe

Type members

Classlikes

case class And[A](v1: Rbe[A], v2: Rbe[A]) extends Rbe[A]

And(v1,v2) represents both v1 and v2

And(v1,v2) represents both v1 and v2

case class AndShape[Edge, Node, Label, Err, Evidence](s1: Shape[Edge, Node, Label, Err, Evidence], s2: Shape[Edge, Node, Label, Err, Evidence]) extends Shape[Edge, Node, Label, Err, Evidence]
case class Attempt[Node, Label](node: Node, label: Label)
trait BagChecker[A]
Companion:
object
object BagChecker
Companion:
class
case class CardinalityZeroZeroDeriv[A](x: A, e: Rbe[A], d: Rbe[A])(implicit evidence$5: Show[A]) extends RbeError
case object Empty extends Rbe[Nothing]

Empty RBE

Empty RBE

case class Fail(error: RbeError) extends Rbe[Nothing]

Fail RBE doesn't match

Fail RBE doesn't match

case class IntervalError[A](interval: Interval, rbe: Rbe[A], bag: Bag[A], open: Boolean) extends RbeError
trait Matcher[Edge, Node, Label, Evidence] extends CheckerCats
case class MatcherLog[Edge, Node, Label, Evidence](messages: List[(Attempt[Node, Label], String)])
case class MaxCardinalityZeroFoundValue[A](x: A, s: Symbol[A]) extends RbeError
case class MsgError(msg: String) extends RbeError
case class NonNullableError[A](nonNullable: Rbe[A], rbe: Rbe[A], bag: Bag[A], open: Boolean, extraSymbols: Map[A, Int])(implicit evidence$2: Show[A]) extends RbeError
case class NotShape[Edge, Node, Label, Err, Evidence](s: Shape[Edge, Node, Label, Err, Evidence]) extends Shape[Edge, Node, Label, Err, Evidence]
case class Or[A](v1: Rbe[A], v2: Rbe[A]) extends Rbe[A]

Or(v1,v2) represents either v1 or v2

Or(v1,v2) represents either v1 or v2

case class Plus[A](v: Rbe[A]) extends Rbe[A]

Plus(v) represents 1 or more appearances of v

Plus(v) represents 1 or more appearances of v

case class RangeNegativeLowerBound(m: Int) extends RbeError
sealed trait Rbe[+A] extends Product with Serializable

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

Companion:
object
object Rbe
Companion:
class
sealed abstract class RbeError(val msg: String) extends Exception with NoStackTrace with Product with Serializable
case class Repeat[A](v: Rbe[A], n: Int, m: IntOrUnbounded) extends Rbe[A]

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

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

case class RepeatsError[A](r: Rbe[A], rbe: Rbe[A], bag: Bag[A])(implicit evidence$1: Show[A]) extends RbeError
case class Schema[Edge, Node, Label, Err, Evidence](m: Map[Label, Shape[DirectedEdge[Edge], Node, Label, Err, Evidence]], ignored: Seq[DirectedEdge[Edge]])

Defines a Schema which is a map from Labels to Shapes

Defines a Schema which is a map from Labels to Shapes

Companion:
object
object Schema
Companion:
class
abstract class Shape[Edge, Node, Label, Err, Evidence]
Companion:
object
object Shape
Companion:
class
object ShowRbe
case class SingleShape[Edge, Node, Label, Err, Evidence](nodeShape: NodeShape[Node, Label, Err, Evidence], rbe: Rbe[(Edge, NodeShape[Node, Label, Err, Evidence])], extras: Seq[Edge], closed: Boolean) extends Shape[Edge, Node, Label, Err, Evidence]

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

Value parameters:
closed

the shape is closed

extras

list of extra edges that are allowed

rbe

regular bag expression

case class Star[A](v: Rbe[A]) extends Rbe[A]

Star(v) represents 0 or more v

Star(v) represents 0 or more v

case class Symbol[+A](a: A, n: Int, m: IntOrUnbounded) extends Rbe[A]

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

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

case class Unexpected[A](x: A, s: Rbe[A], open: Boolean)(implicit evidence$3: Show[A]) extends RbeError
case class UnexpectedEmpty[A](x: A, open: Boolean)(implicit evidence$4: Show[A]) extends RbeError
object nodeShape