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 class Direct[Edge, Node](edge: Edge, node: Node) extends Neigh[Edge, Node]

A neighbor of a node through a direct edge

A neighbor of a node through a direct edge

case class DirectEdge[Edge](edge: Edge) extends DirectedEdge[Edge]
trait DirectedEdge[Edge]

Represents directed edges

Represents directed edges

It can be direct or inverse

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

trait Graph[Edge, Node]

Generic representation of graphs

Generic representation of graphs

Companion
object
object Graph
Companion
class
case class GraphMap[Edge, Node](m: Map[Node, Seq[(Edge, Node)]]) extends Graph[Edge, Node]

Implementation of graph as a map

Implementation of graph as a map

case class IntervalError[A](interval: Interval, rbe: Rbe[A], bag: Bag[A], open: Boolean) extends RbeError
case class Inverse[Edge, Node](edge: Edge, node: Node) extends Neigh[Edge, Node]

A neighbor of a node through an inverse edge

A neighbor of a node through an inverse edge

case class InverseEdge[Edge](edge: Edge) extends DirectedEdge[Edge]
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
sealed trait Neigh[Edge, Node]

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

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

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 RangeLowerBoundBigger(m: Int, n: IntOrUnbounded) extends RbeError
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 Params
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

trait StringGraph extends Graph[String, String]

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

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

Companion
object
object StringGraph
Companion
class
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