package graphs
- Alphabetic
- Public
- Protected
Package Members
Type Members
- final case class Edge[+E](id: String, value: E, from: String, to: String) extends Product with Serializable
An edge value, note that this only holds the ids of the nodes.
An edge value, note that this only holds the ids of the nodes. You need to get the node values from the graph. This allows dangling references and removes the dependency to the node values at the creation time of the edge. That design comes from a focus on serialization but also makes operations like mapping nodes easier internally (as you do not need to rebuild the edges etc.).
- E
the edge type
- trait Graph[E, N] extends AnyRef
A representation of a Graph.
A representation of a Graph.
A graph represents a relationship between objects (often called nodes). The relation between two objects is established by an "arrow" (called edge) between two nodes. This arrow has a direction, thereby creating incoming (pointing to a node) and outgoing edges for a node.
A graph is parametrized by:
- E
the value type of the edges
- N
the values type of the nodes
- trait Identifiable[-T] extends AnyRef
Type class to define an identifier for a value
Type class to define an identifier for a value
Similar to the Show type class but mainly used for serialisation purposes
- T
the node type
- trait Labeled[E, L] extends AnyRef
Type class to define an edge label
Type class to define an edge label
- E
edge value type
- L
label type
- final case class Node[+N](id: String, value: N) extends Product with Serializable
- final case class Relation[+E, +N](value: E, from: Node[N], to: Node[N], symmetric: Boolean = false) extends Product with Serializable
Edge with complete node values, makes creating edges more type safe as it can capture both types, which the Edge type can not.
Edge with complete node values, makes creating edges more type safe as it can capture both types, which the Edge type can not.
Mainly used for
Graph.fromEdges
Value Members
- object Edge extends Serializable
- object Graph
- object Identifiable
- object Labeled
- object Node extends Serializable