Class PathExpression
- java.lang.Object
-
- com.gdblab.pathAlgebra.expressions.PathExpression
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<PathExpression>
- Direct Known Subclasses:
PathExpression.Base,PathExpression.GroupBy,PathExpression.Join,PathExpression.OrderBy,PathExpression.Projection,PathExpression.Recursive,PathExpression.Selection,PathExpression.Union
public abstract class PathExpression extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<PathExpression>
A path algebra expression that evaluates to a set of paths- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPathExpression.BaseBase case: extract paths from graphstatic classPathExpression.GroupByGroup-by operator (γ): organize paths into solution spacestatic classPathExpression.JoinJoin operator (⊲⊳): concatenate compatible pathsstatic classPathExpression.OrderByOrder-by operator (τ): sort solution spacestatic interfacePathExpression.PartialVisitor<R>Partial visitor overPathExpressionwith a defaultPathExpression.PartialVisitor.otherwise(com.gdblab.pathAlgebra.expressions.PathExpression)branch.static classPathExpression.ProjectionProjection operator (π): extract paths from solution spacestatic classPathExpression.RecursiveRecursive operator (φ): compute transitive closure with semanticsstatic classPathExpression.SelectionSelection operator (σ): filter paths by conditionstatic classPathExpression.UnionUnion operator (∪): combine path setsstatic interfacePathExpression.Visitor<R>Visitor overPathExpression.
-
Field Summary
Fields Modifier and Type Field Description static NameBASEName of thecom.gdblab.pathAlgebra.expressions.PathExpression.basefield.static NameGROUP_BYName of thecom.gdblab.pathAlgebra.expressions.PathExpression.groupByfield.static NameJOINName of thecom.gdblab.pathAlgebra.expressions.PathExpression.joinfield.static NameORDER_BYName of thecom.gdblab.pathAlgebra.expressions.PathExpression.orderByfield.static NamePROJECTIONName of thecom.gdblab.pathAlgebra.expressions.PathExpression.projectionfield.static NameRECURSIVEName of thecom.gdblab.pathAlgebra.expressions.PathExpression.recursivefield.static NameSELECTIONName of thecom.gdblab.pathAlgebra.expressions.PathExpression.selectionfield.static NameTYPE_Name of thecom.gdblab.pathAlgebra.expressions.PathExpressiontype.static NameUNIONName of thecom.gdblab.pathAlgebra.expressions.PathExpression.unionfield.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract <R> Raccept(PathExpression.Visitor<R> visitor)Dispatch tovisitor.
-
-
-
Field Detail
-
TYPE_
public static final Name TYPE_
Name of thecom.gdblab.pathAlgebra.expressions.PathExpressiontype.
-
BASE
public static final Name BASE
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.basefield.
-
SELECTION
public static final Name SELECTION
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.selectionfield.
-
JOIN
public static final Name JOIN
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.joinfield.
-
UNION
public static final Name UNION
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.unionfield.
-
RECURSIVE
public static final Name RECURSIVE
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.recursivefield.
-
GROUP_BY
public static final Name GROUP_BY
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.groupByfield.
-
ORDER_BY
public static final Name ORDER_BY
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.orderByfield.
-
PROJECTION
public static final Name PROJECTION
Name of thecom.gdblab.pathAlgebra.expressions.PathExpression.projectionfield.
-
-
Method Detail
-
accept
public abstract <R> R accept(PathExpression.Visitor<R> visitor)
Dispatch tovisitor.
-
-