org.apache.tinkerpop.gremlin.neo4j.structure

## Class Neo4jGraph.Neo4jGraphFeatures.Neo4jVertexFeatures

- java.lang.Object
- - org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph.Neo4jGraphFeatures.Neo4jElementFeatures
  - - org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph.Neo4jGraphFeatures.Neo4jVertexFeatures

- All Implemented Interfaces:
    Graph.Features.ElementFeatures, Graph.Features.FeatureSet, Graph.Features.VertexFeatures
  Enclosing class:
    Neo4jGraph.Neo4jGraphFeatures

      public class Neo4jGraph.Neo4jGraphFeatures.Neo4jVertexFeatures
      extends Neo4jGraph.Neo4jGraphFeatures.Neo4jElementFeatures
      implements Graph.Features.VertexFeatures

- - ### Field Summary

    - ### Fields inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.VertexFeatures

      `FEATURE_ADD_VERTICES, FEATURE_DUPLICATE_MULTI_PROPERTIES, FEATURE_META_PROPERTIES, FEATURE_MULTI_PROPERTIES, FEATURE_REMOVE_VERTICES`

    - ### Fields inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `FEATURE_ADD_PROPERTY, FEATURE_ANY_IDS, FEATURE_CUSTOM_IDS, FEATURE_NUMERIC_IDS, FEATURE_REMOVE_PROPERTY, FEATURE_STRING_IDS, FEATURE_USER_SUPPLIED_IDS, FEATURE_UUID_IDS`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `Neo4jVertexFeatures()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `VertexProperty.Cardinality` | `getCardinality(String key)` Gets the `VertexProperty.Cardinality` for a key.
    `Graph.Features.VertexPropertyFeatures` | `properties()` Gets features related to "properties" on a `Vertex`.
    `boolean` | `supportsMetaProperties()` Determines if a `Vertex` can support properties on vertex properties.
    `boolean` | `supportsMultiProperties()` Determines if a `Vertex` can support multiple properties with the same key.
    `boolean` | `supportsUserSuppliedIds()` Determines if an `Element` can have a user defined identifier.

    - ### Methods inherited from class org.apache.tinkerpop.gremlin.neo4j.structure.Neo4jGraph.Neo4jGraphFeatures.Neo4jElementFeatures

      `supportsAnyIds, supportsCustomIds, supportsStringIds, supportsUuidIds`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.VertexFeatures

      `supportsAddVertices, supportsDuplicateMultiProperties, supportsRemoveVertices`

    - ### Methods inherited from interface org.apache.tinkerpop.gremlin.structure.Graph.Features.ElementFeatures

      `supportsAddProperty, supportsAnyIds, supportsCustomIds, supportsNumericIds, supportsRemoveProperty, supportsStringIds, supportsUuidIds, willAllowId`

- - ### Constructor Detail

    - #### Neo4jVertexFeatures

          protected Neo4jVertexFeatures()

  - ### Method Detail

    - #### properties

          public Graph.Features.VertexPropertyFeatures properties()

      Description copied from interface: `Graph.Features.VertexFeatures`
      Gets features related to "properties" on a `Vertex`.
      Specified by:
        `properties` in interface `Graph.Features.VertexFeatures`

    - #### supportsMetaProperties

          public boolean supportsMetaProperties()

      Description copied from interface: `Graph.Features.VertexFeatures`
      Determines if a `Vertex` can support properties on vertex properties. It is assumed that a graph will support all the same data types for meta-properties that are supported for regular properties.
      Specified by:
        `supportsMetaProperties` in interface `Graph.Features.VertexFeatures`

    - #### supportsMultiProperties

          public boolean supportsMultiProperties()

      Description copied from interface: `Graph.Features.VertexFeatures`
      Determines if a `Vertex` can support multiple properties with the same key.
      Specified by:
        `supportsMultiProperties` in interface `Graph.Features.VertexFeatures`

    - #### supportsUserSuppliedIds

          public boolean supportsUserSuppliedIds()

      Description copied from interface: `Graph.Features.ElementFeatures`
      Determines if an `Element` can have a user defined identifier. Implementations that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the `Graph` allows `graph.addVertex(id,x)` to work and thus set the identifier of the newly added `Vertex` to the value of `x` then this feature should return true. In this case, `x` is assumed to be an identifier data type that the `Graph` will accept.
      Specified by:
        `supportsUserSuppliedIds` in interface `Graph.Features.ElementFeatures`
      Overrides:
        `supportsUserSuppliedIds` in class `Neo4jGraph.Neo4jGraphFeatures.Neo4jElementFeatures`

    - #### getCardinality

          public VertexProperty.Cardinality getCardinality(String key)

      Description copied from interface: `Graph.Features.VertexFeatures`
      Gets the `VertexProperty.Cardinality` for a key. By default, this method will return `VertexProperty.Cardinality.list`. Implementations that employ a schema can consult it to determine the `VertexProperty.Cardinality`. Those that do no have a schema can return their default `VertexProperty.Cardinality` for every key.

      Note that this method is primarily used by TinkerPop for internal usage and may not be suitable to reliably determine the cardinality of a key. For some implementation it may offer little more than a hint on the actual cardinality. Generally speaking it is likely best to drop down to the API of the `Graph` implementation for any schema related queries.
      Specified by:
        `getCardinality` in interface `Graph.Features.VertexFeatures`

Copyright © 2013–2020 Apache Software Foundation. All rights reserved.