public class StandardEdgeLabelMaker extends StandardRelationTypeMaker implements EdgeLabelMaker
attributeHandler, indexSerializer, multiplicity, tx
Constructor and Description |
---|
StandardEdgeLabelMaker(StandardJanusGraphTx tx,
String name,
IndexSerializer indexSerializer,
AttributeHandler attributeHandler) |
Modifier and Type | Method and Description |
---|---|
StandardEdgeLabelMaker |
directed()
Configures the label to be directed.
|
StandardEdgeLabelMaker |
invisible() |
EdgeLabel |
make()
Defines the
EdgeLabel specified by this EdgeLabelMaker and returns the resulting label |
StandardEdgeLabelMaker |
multiplicity(Multiplicity multiplicity)
Sets the multiplicity of this label.
|
StandardEdgeLabelMaker |
signature(PropertyKey... types)
Configures the signature of this relation type.
|
StandardEdgeLabelMaker |
sortKey(PropertyKey... types)
Configures the composite sort key for this label.
|
StandardEdgeLabelMaker |
sortOrder(Order order)
Defines in which order to sort the relations for efficient retrieval, i.e.
|
StandardEdgeLabelMaker |
unidirected()
Configures the label to be unidirected.
|
StandardEdgeLabelMaker |
unidirected(org.apache.tinkerpop.gremlin.structure.Direction dir) |
getMultiplicity, getName, hasSortKey, makeDefinition, name, status
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
public StandardEdgeLabelMaker(StandardJanusGraphTx tx, String name, IndexSerializer indexSerializer, AttributeHandler attributeHandler)
public StandardEdgeLabelMaker directed()
EdgeLabelMaker
By default, the label is directed.
directed
in interface EdgeLabelMaker
EdgeLabel.isDirected()
public StandardEdgeLabelMaker unidirected()
EdgeLabelMaker
By default, the type is directed.
unidirected
in interface EdgeLabelMaker
EdgeLabel.isUnidirected()
public StandardEdgeLabelMaker unidirected(org.apache.tinkerpop.gremlin.structure.Direction dir)
public StandardEdgeLabelMaker multiplicity(Multiplicity multiplicity)
EdgeLabelMaker
Multiplicity.MULTI
.multiplicity
in interface EdgeLabelMaker
multiplicity
in class StandardRelationTypeMaker
Multiplicity
public StandardEdgeLabelMaker signature(PropertyKey... types)
RelationTypeMaker
Specifying the signature of a type tells the graph database to expect that relations of this type
always have or are likely to have an incident property or unidirected edge of the type included in the
signature. This allows the graph database to store such relations more compactly and retrieve them more quickly.
For instance, if all edges with label friend have a property with key createdOn, then specifying
(createdOn) as the signature for label friend allows friend edges to be stored more efficiently.
RelationType
s used in the signature must be either property out-unique keys or out-unique unidirected edge labels.
The signature is empty by default.
signature
in interface EdgeLabelMaker
signature
in interface RelationTypeMaker
signature
in class StandardRelationTypeMaker
types
- PropertyKey composing the signature for the configured relation type. The order is irrelevant.public StandardEdgeLabelMaker sortKey(PropertyKey... types)
StandardRelationTypeMaker
Specifying the sort key of a type allows relations of this type to be efficiently retrieved in the order of
the sort key.
For instance, if the edge label friend has the sort key (since), which is a property key
with a timestamp data type, then one can efficiently retrieve all edges with label friend in a specified
time interval using JanusGraphVertexQuery.interval(java.lang.String, T, T)
.
In other words, relations are stored on disk in the order of the configured sort key. The sort key is empty
by default.
If multiple types are specified as sort key, then those are considered as a composite sort key, i.e. taken jointly
in the given order.
RelationType
s used in the sort key must be either property out-unique keys or out-unique unidirected edge labels.
sortKey
in class StandardRelationTypeMaker
types
- JanusGraphTypes composing the sort key. The order is relevant.public StandardEdgeLabelMaker sortOrder(Order order)
StandardRelationTypeMaker
Order.ASC
) or
decreasing (Order.DESC
).
Note, that only one sort order can be specified and that a sort key must be defined to use a sort order.sortOrder
in class StandardRelationTypeMaker
StandardRelationTypeMaker.sortKey(PropertyKey... keys)
public StandardEdgeLabelMaker invisible()
invisible
in class StandardRelationTypeMaker
public EdgeLabel make()
EdgeLabelMaker
EdgeLabel
specified by this EdgeLabelMaker and returns the resulting labelmake
in interface EdgeLabelMaker
make
in interface RelationTypeMaker
EdgeLabel
Copyright © 2012–2023. All rights reserved.