edgeLabel

How to create an edge label.

Synopsis

schema.edgeLabel('edgeLabel').
  [ single() | multiple() ].
  [ properties(property[, property]).[ add() | drop() ] ].
  [ connection( outVertex, inVertex) ].
  [ ttl ].
  [ ifNotExists() ].
  [ create() | add() | drop() | describe() | exists() ]

Description

An edge label specifies a type of edge that can be stored in DSE Graph. An edge label can have cardinality specified (default is multiple), properties that an edge has defined, the connections that are defined between two types of vertices, and a time-to-live (TTL) to determine the lifecycle of an edge. The order that the options are added to the schema statement matter: cardinality, properties associated with the edge label, then connection.

Examples

Create an edgeLabel created:
schema.edgeLabel('created').create()
Note: Naming convention used to allow nearly unrestricted Unicode. Now the only allowed characters are [a-zA-Z0-9], underscore, hyphen, and period.
Create an edgeLabel includedIn if the edge label doesn't already exist:
schema.edgeLabel('includedIn').ifNotExists().create()
Create an edgeLabel with multiple cardinality:
schema.edgeLabel('reviewed').multiple().create()
Add properties to an edgeLabel:
schema.edgeLabel('reviewed').properties('rating','last_date').add()
Create an edgeLabel with both a property and a connection:
schema.edgeLabel('reviewed').properties('rating').connection('recipe', 'reviewer').create()
Create a time-to-live (TTL) for an edgeLabel of 60 seconds. Setting a TTL will expire all edges inserted with the edgeLabel at the set TTL value:
schema.edgeLabel('createDate').ttl(60).create()
Note: DSE Graph sets TTL differently from the DSE database. The DSE database sets TTL per mutation (insertion or update) or can inherit a default value from the table schema. DSE Graph sets TTL per vertex label or edge label, and all vertices or edges will be affected by the TTL setting. DSE Graph cannot set TTL for an individual vertex or edge.
Check if an edgeLabel exists:
schema.edgeLabel('reviewed').exists()
Get the schema creation command for an edgeLabel using the describe() command:
schema.edgeLabel('createDate').describe()
Remove a edge label with the drop() command:
schema.edgeLabel('reviewed').drop()
Remove a property rating from an edge label:
schema.edgeLabel('reviewed').properties('rating').drop()