Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
schema=hugegraph.schema()schema.propertyKey("name").asText().ifNotExist().create()schema.propertyKey("age").asInt().ifNotExist().create()
@@ -97,7 +96,7 @@
// what is the name of the brother and the name of the place?
g.V(pluto).out('brother').as('god').out('lives').as('place').select('god','place').by('name')
-
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
Determines if the {@code Graph} implementation supports {@link GraphComputer} based processing
false
Transactions
Determines if the {@code Graph} implementations supports transactions.
true
Persistence
Determines if the {@code Graph} implementation supports persisting it’s contents natively to disk.This feature does not refer to every graph’s ability to write to disk via the Gremlin IO packages(.e.g. GraphML), unless the graph natively persists to disk via those options somehow. For example,TinkerGraph does not support this feature as it is a pure in-sideEffects graph.
true
ThreadedTransactions
Determines if the {@code Graph} implementation supports threaded transactions which allow a transaction be executed across multiple threads via {@link Transaction#createThreadedTx()}.
false
ConcurrentAccess
Determines if the {@code Graph} implementation supports more than one connection to the same instance at the same time. For example, Neo4j embedded does not support this feature because concurrent access to the same database files by multiple instances is not possible. However, Neo4j HA could support this feature as each new {@code Graph} instance coordinates with the Neo4j cluster allowing multiple instances to operate on the same database.
false
Vertex Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddVertices
Determines if a {@link Vertex} can be added to the {@code Graph}.
true
MultiProperties
Determines if a {@link Vertex} can support multiple properties with the same key.
false
DuplicateMultiProperties
Determines if a {@link Vertex} can support non-unique values on the same key. For this value to be {@code true}, then {@link #supportsMetaProperties()} must also return true. By default this method, just returns what {@link #supportsMultiProperties()} returns.
false
MetaProperties
Determines if a {@link 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.
false
RemoveVertices
Determines if a {@link Vertex} can be removed from the {@code Graph}.
true
Edge Features
Name
Description
Support
UserSuppliedIds
Determines if an {@link Element} can have a user defined identifier. Implementation that do not support this feature will be expected to auto-generate unique identifiers. In other words, if the {@link Graph} allows {@code graph.addVertex(id,x)} to work and thus set the identifier of the newly added {@link Vertex} to the value of {@code x} then this feature should return true. In this case, {@code x} is assumed to be an identifier data type that the {@link Graph} will accept.
false
NumericIds
Determines if an {@link Element} has numeric identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a numeric value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
StringIds
Determines if an {@link Element} has string identifiers as their internal representation. In other words, if the value returned from {@link Element#id()} is a string value then this method should be return {@code true}. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
UuidIds
Determines if an {@link Element} has UUID identifiers as their internal representation. In other words,if the value returned from {@link Element#id()} is a {@link UUID} value then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
CustomIds
Determines if an {@link Element} has a specific custom object as their internal representation.In other words, if the value returned from {@link Element#id()} is a type defined by the graph implementations, such as OrientDB’s {@code Rid}, then this method should be return {@code true}.Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite.
false
AnyIds
Determines if an {@link Element} any Java object is a suitable identifier. TinkerGraph is a good example of a {@link Graph} that can support this feature, as it can use any {@link Object} as a value for the identifier. Note that this feature is most generally used for determining the appropriate tests to execute in the Gremlin Test Suite. This setting should only return {@code true} if {@link #supportsUserSuppliedIds()} is {@code true}.
false
AddProperty
Determines if an {@link Element} allows properties to be added. This feature is set independently from supporting “data types” and refers to support of calls to {@link Element#property(String, Object)}.
true
RemoveProperty
Determines if an {@link Element} allows properties to be removed.
true
AddEdges
Determines if an {@link Edge} can be added to a {@code Vertex}.
true
RemoveEdges
Determines if an {@link Edge} can be removed from a {@code Vertex}.
true
Data Type Features
Name
Description
Support
BooleanValues
true
ByteValues
true
DoubleValues
true
FloatValues
true
IntegerValues
true
LongValues
true
MapValues
Supports setting of a {@code Map} value. The assumption is that the {@code Map} can contain arbitrary serializable values that may or may not be defined as a feature itself
false
MixedListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “mixed” it does not need to contain objects of the same type.
false
BooleanArrayValues
false
ByteArrayValues
true
DoubleArrayValues
false
FloatArrayValues
false
IntegerArrayValues
false
LongArrayValues
false
SerializableValues
false
StringArrayValues
false
StringValues
true
UniformListValues
Supports setting of a {@code List} value. The assumption is that the {@code List} can contain arbitrary serializable values that may or may not be defined as a feature itself. As this{@code List} is “uniform” it must contain objects of the same type.
schema=hugegraph.schema()schema.propertyKey("name").asText().ifNotExist().create()schema.propertyKey("age").asInt().ifNotExist().create()
@@ -97,7 +96,7 @@
// what is the name of the brother and the name of the place?
g.V(pluto).out('brother').as('god').out('lives').as('place').select('god','place').by('name')
-
diff --git a/docs/language/index.xml b/docs/language/index.xml
index d03e97a64..38f9dff7b 100644
--- a/docs/language/index.xml
+++ b/docs/language/index.xml
@@ -469,8 +469,7 @@
<h3 id="1-概述">1 概述</h3>
<p>本示例将<a href="http://s3.thinkaurelius.com/docs/titan/1.0.0/getting-started.html">TitanDB Getting Started</a> 为模板来演示HugeGraph的使用方法。通过对比HugeGraph和TitanDB,了解HugeGraph和TitanDB的差异。</p>
<h4 id="11-hugegraph与titandb的异同">1.1 HugeGraph与TitanDB的异同</h4>
-<p>HugeGraph和TitanDB都是基于<a href="https://tinkerpop.apache.org">Apache TinkerPop3</a>框架的图数据库,均支持[Gremlin](<a href="https://tinkerpop.apache">https://tinkerpop.apache</a>
-.org/gremlin.html)图查询语言,在使用方法和接口方面具有很多相似的地方。然而HugeGraph是全新设计开发的,其代码结构清晰,功能较为丰富,接口更为友好等特点。</p>
+<p>HugeGraph和TitanDB都是基于<a href="https://tinkerpop.apache.org">Apache TinkerPop3</a>框架的图数据库,均支持<a href="https://tinkerpop.apache.org/gremlin.html">Gremlin</a>图查询语言,在使用方法和接口方面具有很多相似的地方。然而HugeGraph是全新设计开发的,其代码结构清晰,功能较为丰富,接口更为友好等特点。</p>
<p>HugeGraph相对于TitanDB而言,其主要特点如下:</p>
<ul>
<li>HugeGraph目前有HugeGraph-API、HugeGraph-Client、HugeGraph-Loader、HugeGraph-Studio、HugeGraph-Spark等完善的工具组件,可以完成系统集成、数据载入、图可视化查询、Spark 连接等功能;</li>
diff --git a/en/index.html b/en/index.html
index 2b6417980..017c4d50b 100644
--- a/en/index.html
+++ b/en/index.html
@@ -1 +1 @@
-/
\ No newline at end of file
+/
\ No newline at end of file
diff --git a/en/sitemap.xml b/en/sitemap.xml
index 4beeea4ed..bc053f670 100644
--- a/en/sitemap.xml
+++ b/en/sitemap.xml
@@ -1 +1 @@
-/docs/guides/architectural/2022-11-27T21:05:55+08:00/docs/config/config-guide/2022-04-17T11:36:55+08:00/docs/language/hugegraph-gremlin/2023-01-01T16:16:43+08:00/docs/contribution-guidelines/contribute/2023-01-04T22:59:07+08:00/docs/performance/hugegraph-benchmark-0.5.6/2022-09-15T12:59:59+08:00/docs/quickstart/hugegraph-server/2023-01-01T16:16:43+08:00/docs/introduction/readme/2022-11-27T21:44:37+08:00/docs/changelog/hugegraph-1.0.0-release-notes/2023-01-09T07:41:46+08:00/docs/clients/restful-api/2022-04-17T11:36:55+08:00/docs/clients/restful-api/schema/2022-04-17T11:36:55+08:00/docs/performance/api-preformance/hugegraph-api-0.5.6-rocksdb/2022-04-17T11:36:55+08:00/docs/config/config-option/2023-01-01T16:16:43+08:00/docs/guides/desgin-concept/2022-04-17T11:36:55+08:00/docs/download/download/2023-01-01T22:24:37+08:00/docs/language/hugegraph-example/2023-01-01T16:16:43+08:00/docs/clients/hugegraph-client/2023-01-01T16:16:43+08:00/docs/performance/api-preformance/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-loader/2023-01-04T22:59:07+08:00/docs/clients/restful-api/propertykey/2022-05-12T21:24:05+08:00/docs/changelog/hugegraph-0.12.0-release-notes/2023-01-01T16:16:43+08:00/docs/contribution-guidelines/subscribe/2022-09-15T12:59:59+08:00/docs/performance/api-preformance/hugegraph-api-0.5.6-cassandra/2022-04-17T11:36:55+08:00/docs/config/config-authentication/2022-04-17T11:36:55+08:00/docs/clients/gremlin-console/2022-05-25T21:16:41+08:00/docs/guides/custom-plugin/2022-09-15T12:59:59+08:00/docs/performance/hugegraph-loader-performance/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-tools/2023-01-04T22:59:07+08:00/docs/quickstart/2022-04-17T11:36:55+08:00/docs/performance/api-preformance/hugegraph-api-0.4.4/2022-04-17T11:36:55+08:00/docs/contribution-guidelines/validate-release/2023-01-07T14:50:47+08:00/docs/clients/restful-api/vertexlabel/2022-04-17T11:36:55+08:00/docs/guides/backup-restore/2022-04-17T11:36:55+08:00/docs/config/2022-04-17T11:36:55+08:00/docs/config/config-https/2022-04-17T11:36:55+08:00/docs/clients/restful-api/edgelabel/2022-04-17T11:36:55+08:00/docs/performance/api-preformance/hugegraph-api-0.2/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-hubble/2023-01-04T22:59:07+08:00/docs/clients/2022-04-17T11:36:55+08:00/docs/config/config-computer/2023-01-01T16:16:43+08:00/docs/guides/faq/2023-01-01T16:16:43+08:00/docs/clients/restful-api/indexlabel/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-client/2023-01-01T16:16:43+08:00/docs/guides/2022-04-17T11:36:55+08:00/docs/clients/restful-api/rebuild/2022-05-09T18:43:53+08:00/docs/quickstart/hugegraph-computer/2023-01-01T16:16:43+08:00/docs/language/2022-04-17T11:36:55+08:00/docs/clients/restful-api/vertex/2023-01-15T21:47:17+08:00/docs/clients/restful-api/edge/2023-01-15T21:46:48+08:00/docs/performance/2022-04-17T11:36:55+08:00/docs/contribution-guidelines/2022-12-30T19:36:31+08:00/docs/clients/restful-api/traverser/2022-04-17T11:36:55+08:00/docs/changelog/2022-04-28T21:26:41+08:00/docs/clients/restful-api/rank/2022-09-15T12:59:59+08:00/docs/clients/restful-api/variable/2022-04-17T11:36:55+08:00/docs/clients/restful-api/graphs/2022-05-27T09:27:37+08:00/docs/clients/restful-api/task/2022-09-15T12:59:59+08:00/docs/clients/restful-api/gremlin/2022-04-17T11:36:55+08:00/docs/clients/restful-api/auth/2022-04-17T11:36:55+08:00/docs/clients/restful-api/other/2022-04-17T11:36:55+08:00/docs/2022-12-30T19:57:48+08:00/blog/news/2022-03-21T18:55:33+08:00/blog/releases/2022-03-21T18:55:33+08:00/blog/2018/10/06/easy-documentation-with-docsy/2022-03-21T18:55:33+08:00/blog/2018/10/06/the-second-blog-post/2022-03-21T18:55:33+08:00/blog/2018/01/04/another-great-release/2022-03-21T18:55:33+08:00/docs/cla/2022-03-21T19:51:14+08:00/docs/performance/hugegraph-benchmark-0.4.4/2022-09-15T12:59:59+08:00/docs/summary/2022-11-27T21:05:55+08:00/blog/2022-03-21T18:55:33+08:00/categories//community/2022-03-21T18:55:33+08:00/2023-01-15T13:44:01+00:00/search/2022-03-21T18:55:33+08:00/tags/
\ No newline at end of file
+/docs/guides/architectural/2022-11-27T21:05:55+08:00/docs/config/config-guide/2022-04-17T11:36:55+08:00/docs/language/hugegraph-gremlin/2023-01-01T16:16:43+08:00/docs/contribution-guidelines/contribute/2023-01-04T22:59:07+08:00/docs/performance/hugegraph-benchmark-0.5.6/2022-09-15T12:59:59+08:00/docs/quickstart/hugegraph-server/2023-01-01T16:16:43+08:00/docs/introduction/readme/2022-11-27T21:44:37+08:00/docs/changelog/hugegraph-1.0.0-release-notes/2023-01-09T07:41:46+08:00/docs/clients/restful-api/2022-04-17T11:36:55+08:00/docs/clients/restful-api/schema/2022-04-17T11:36:55+08:00/docs/performance/api-preformance/hugegraph-api-0.5.6-rocksdb/2022-04-17T11:36:55+08:00/docs/config/config-option/2023-01-01T16:16:43+08:00/docs/guides/desgin-concept/2022-04-17T11:36:55+08:00/docs/download/download/2023-01-01T22:24:37+08:00/docs/language/hugegraph-example/2023-02-02T01:21:10+08:00/docs/clients/hugegraph-client/2023-01-01T16:16:43+08:00/docs/performance/api-preformance/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-loader/2023-01-04T22:59:07+08:00/docs/clients/restful-api/propertykey/2022-05-12T21:24:05+08:00/docs/changelog/hugegraph-0.12.0-release-notes/2023-01-01T16:16:43+08:00/docs/contribution-guidelines/subscribe/2022-09-15T12:59:59+08:00/docs/performance/api-preformance/hugegraph-api-0.5.6-cassandra/2022-04-17T11:36:55+08:00/docs/config/config-authentication/2022-04-17T11:36:55+08:00/docs/clients/gremlin-console/2022-05-25T21:16:41+08:00/docs/guides/custom-plugin/2022-09-15T12:59:59+08:00/docs/performance/hugegraph-loader-performance/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-tools/2023-01-04T22:59:07+08:00/docs/quickstart/2022-04-17T11:36:55+08:00/docs/performance/api-preformance/hugegraph-api-0.4.4/2022-04-17T11:36:55+08:00/docs/contribution-guidelines/validate-release/2023-01-07T14:50:47+08:00/docs/clients/restful-api/vertexlabel/2022-04-17T11:36:55+08:00/docs/guides/backup-restore/2022-04-17T11:36:55+08:00/docs/config/2022-04-17T11:36:55+08:00/docs/config/config-https/2022-04-17T11:36:55+08:00/docs/clients/restful-api/edgelabel/2022-04-17T11:36:55+08:00/docs/performance/api-preformance/hugegraph-api-0.2/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-hubble/2023-01-04T22:59:07+08:00/docs/clients/2022-04-17T11:36:55+08:00/docs/config/config-computer/2023-01-01T16:16:43+08:00/docs/guides/faq/2023-01-01T16:16:43+08:00/docs/clients/restful-api/indexlabel/2022-04-17T11:36:55+08:00/docs/quickstart/hugegraph-client/2023-01-01T16:16:43+08:00/docs/guides/2022-04-17T11:36:55+08:00/docs/clients/restful-api/rebuild/2022-05-09T18:43:53+08:00/docs/quickstart/hugegraph-computer/2023-01-01T16:16:43+08:00/docs/language/2022-04-17T11:36:55+08:00/docs/clients/restful-api/vertex/2023-01-15T21:47:17+08:00/docs/clients/restful-api/edge/2023-01-15T21:46:48+08:00/docs/performance/2022-04-17T11:36:55+08:00/docs/contribution-guidelines/2022-12-30T19:36:31+08:00/docs/clients/restful-api/traverser/2022-04-17T11:36:55+08:00/docs/changelog/2022-04-28T21:26:41+08:00/docs/clients/restful-api/rank/2022-09-15T12:59:59+08:00/docs/clients/restful-api/variable/2022-04-17T11:36:55+08:00/docs/clients/restful-api/graphs/2022-05-27T09:27:37+08:00/docs/clients/restful-api/task/2022-09-15T12:59:59+08:00/docs/clients/restful-api/gremlin/2022-04-17T11:36:55+08:00/docs/clients/restful-api/auth/2022-04-17T11:36:55+08:00/docs/clients/restful-api/other/2022-04-17T11:36:55+08:00/docs/2022-12-30T19:57:48+08:00/blog/news/2022-03-21T18:55:33+08:00/blog/releases/2022-03-21T18:55:33+08:00/blog/2018/10/06/easy-documentation-with-docsy/2022-03-21T18:55:33+08:00/blog/2018/10/06/the-second-blog-post/2022-03-21T18:55:33+08:00/blog/2018/01/04/another-great-release/2022-03-21T18:55:33+08:00/docs/cla/2022-03-21T19:51:14+08:00/docs/performance/hugegraph-benchmark-0.4.4/2022-09-15T12:59:59+08:00/docs/summary/2022-11-27T21:05:55+08:00/blog/2022-03-21T18:55:33+08:00/categories//community/2022-03-21T18:55:33+08:00/2023-01-15T13:44:01+00:00/search/2022-03-21T18:55:33+08:00/tags/
\ No newline at end of file
diff --git a/sitemap.xml b/sitemap.xml
index 659fea2ea..05cb44732 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1 +1 @@
-/en/sitemap.xml2023-01-15T21:47:17+08:00/cn/sitemap.xml2023-01-09T07:41:46+08:00
\ No newline at end of file
+/cn/sitemap.xml2023-02-02T01:21:10+08:00/en/sitemap.xml2023-02-02T01:21:10+08:00
\ No newline at end of file