com.thinkaurelius.titan.core

## Interface RelationType

- All Superinterfaces:
    com.tinkerpop.blueprints.Element, Idfiable, Namifiable, Removable, TitanElement, TitanSchemaElement, TitanSchemaType, TitanVertex, com.tinkerpop.blueprints.Vertex
  All Known Subinterfaces:
    EdgeLabel, InternalRelationType, PropertyKey, SystemRelationType
  All Known Implementing Classes:
    BaseKey, BaseLabel, BaseRelationType, EdgeLabelVertex, EmptyRelationType, ImplicitKey, PropertyKeyVertex, RelationTypeVertex

      public interface RelationType
      extends TitanVertex, TitanSchemaType

  RelationType defines the schema for `TitanRelation`. RelationType can be configured through `RelationTypeMaker` to provide data verification, better storage efficiency, and higher retrieval performance.
  Each `TitanRelation` has a unique type which defines many important characteristics of that relation.
  RelationTypes are constructed through `RelationTypeMaker` which is accessed in the context of a `TitanTransaction` via `TitanTransaction.makePropertyKey(String)` for property keys or `TitanTransaction.makeEdgeLabel(String)` for edge labels. Identical methods exist on `TitanGraph`. Note, relation types will only be visible once the transaction in which they were created has been committed.
  RelationType names must be unique in a graph database. Many methods allow the name of the type as an argument instead of the actual type reference. That also means, that edge labels and property keys may not have the same name.
  Author:
    Matthias Bröcheler (me@matthiasb.com);
  See Also:
    `TitanRelation`, `RelationTypeMaker`, Titan Type Wiki

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `isEdgeLabel()` Checks if this relation type is an edge label
    `boolean` | `isPropertyKey()` Checks if this relation type is a property key

    - ### Methods inherited from interface com.thinkaurelius.titan.core.TitanVertex

      `addEdge, addEdge, addProperty, addProperty, getEdgeCount, getEdges, getEdges, getLabel, getProperties, getProperties, getProperties, getPropertyCount, getRelations, getTitanEdges, getVertexLabel, isConnected, isModified, query`

    - ### Methods inherited from interface com.thinkaurelius.titan.core.TitanElement

      `getId, getLongId, getProperty, getProperty, hasId, isLoaded, isNew, isRemoved, remove, removeProperty, removeProperty, setProperty, setProperty`

    - ### Methods inherited from interface com.tinkerpop.blueprints.Vertex

      `addEdge, getVertices`

    - ### Methods inherited from interface com.tinkerpop.blueprints.Element

      `getPropertyKeys`

    - ### Methods inherited from interface com.thinkaurelius.titan.core.Namifiable

      `getName`

- - ### Method Detail

    - #### isPropertyKey

          boolean isPropertyKey()

      Checks if this relation type is a property key
      Returns:
        true, if this relation type is a property key, else false.
      See Also:
        `PropertyKey`

    - #### isEdgeLabel

          boolean isEdgeLabel()

      Checks if this relation type is an edge label
      Returns:
        true, if this relation type is a edge label, else false.
      See Also:
        `EdgeLabel`

Copyright © 2012–2014. All rights reserved.