VertexType

scalation.database.graph_relation.VertexType
case class VertexType(name: String, schema: ArrayBuffer[String], eschema: ArrayBuffer[String], verts: ArrayBuffer[Vertex]) extends Serializable

The VertexType class collects vertices of the same type, e.g., a person vertex type. A vertex type is analogous to a relation with no foreign keys in an RDBMS.

Value parameters

eschema

the edge names for this vertex type

name

the name of this vertex type

schema

the property names for this vertex type

verts

the set of vertices having this vertex type (extension)

Attributes

Graph
Supertypes
trait Product
trait Equals
trait Serializable
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def buildIndex(pkey: String): Unit

Build the index for the primary key.

Build the index for the primary key.

Value parameters

pkey

the property designated as the primary key

Attributes

def check: Boolean

Check that the properties names are in the schema and the edge names are in the eschema for this vertex type, returning whether they match.

Check that the properties names are in the schema and the edge names are in the eschema for this vertex type, returning whether they match.

Attributes

Make all the vertices in this vertex type distinct, i.e., no duplicate vertices.

Make all the vertices in this vertex type distinct, i.e., no duplicate vertices.

Attributes

def eproject(esubschema: ArrayBuffer[String]): VertexType

Project each vertex in this vertex type down to the given esubschema of edges.

Project each vertex in this vertex type down to the given esubschema of edges.

Value parameters

esubschema

the subset of edges to project onto

Attributes

def eproject(esubschema: String*): VertexType

Project each vertex in this vertex type down to the given esubschema of edges.

Project each vertex in this vertex type down to the given esubschema of edges.

Value parameters

subschema

the subset of edges to project onto

Attributes

def find(key: ValueType): Vertex

Find the unique vertex based on the primary key.

Find the unique vertex based on the primary key.

Value parameters

key

the primary key

Attributes

def groupBy(pname: String): VertexType

Group the vertices within this vertex type by the values of the given property name.

Group the vertices within this vertex type by the values of the given property name.

Value parameters

pname

the propery name on which to group

Attributes

infix def intersect(vtype2: VertexType): VertexType

Intersect this vertex type with a second vertex type with no duplication.

Intersect this vertex type with a second vertex type with no duplication.

Value parameters

vtype2

the second vertex type

Attributes

def join(ename: String, vtype2: VertexType): VertexType

Join this vertex type to a second vertex type (similar to a natural join). FIX - handle duplicate property/edge names

Join this vertex type to a second vertex type (similar to a natural join). FIX - handle duplicate property/edge names

Value parameters

ename

the edge name used to connect with vtype2 (analog of a foreign key)

vtype2

the second vertex type

Attributes

def limit(n: Int, s: Int): VertexType

Limit the number of vertices to n after skipping the first s.

Limit the number of vertices to n after skipping the first s.

Value parameters

n

the number of vertices to keep

s

the number of vertices to skip

Attributes

def meta: String

Convert the meta-data for this vertex type to a string.

Convert the meta-data for this vertex type to a string.

Attributes

infix def minus(vtype2: VertexType): VertexType

Minus second vertex type from this vertex type.

Minus second vertex type from this vertex type.

Value parameters

vtype2

the second vertex type

Attributes

def next(): Int

Increment the counter to its next value and return it.

Increment the counter to its next value and return it.

Attributes

def orderBy(pname: String): VertexType

Order the vertices within this vertex type by the values of the given property name.

Order the vertices within this vertex type by the values of the given property name.

Value parameters

pname

the propery name on which to sort

Attributes

def project(subschema: ArrayBuffer[String]): VertexType

Project each vertex in this vertex type down to the given subschema of properties.

Project each vertex in this vertex type down to the given subschema of properties.

Value parameters

subschema

the subset of properies to project onto

Attributes

def project(subschema: String*): VertexType

Project each vertex in this vertex type down to the given subschema of properties.

Project each vertex in this vertex type down to the given subschema of properties.

Value parameters

subschema

the subset of properies to project onto

Attributes

def select(pred: Property => Boolean): VertexType

Select the vertices in this vertex type that satisfy the predicate.

Select the vertices in this vertex type that satisfy the predicate.

Value parameters

pred

the predicate to satisfy

Attributes

def showGroups: Iterable[String]

Show the groups that were created.

Show the groups that were created.

Attributes

override def toString: String

Convert the data for this vertex type to a string.

Convert the data for this vertex type to a string.

Attributes

Definition Classes
Any
infix def union(vtype2: VertexType): VertexType

Union this vertex type with a second vertex type with no duplication.

Union this vertex type with a second vertex type with no duplication.

Value parameters

vtype2

the second vertex type

Attributes

infix def unionAll(vtype2: VertexType): VertexType

Union this vertex type with a second vertex type.

Union this vertex type with a second vertex type.

Value parameters

vtype2

the second vertex type

Attributes

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product