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
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
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