hgraphdb
hgraphdb copied to clipboard
[RFC] properties: upgrade HBaseVertex to support multi-properties
The HBase graph tinkerpop implementation specifies Cardinality.single as the default. Since HBase does not (at the time of this writing) support multiple values, this feature wraps the multi-values in a list and writes the list to HBase. As a consequence of this list wrapper, indexed properties can still only support-single value properties.
When reading/writing from HBase, most properties will be written as single objects. Only when a property is specifically added with non-single cardinality will it be written to HBase as a list.
In order to avoid java native serialization, the serialization of non-single property values uses Kryo (with a small lightweight wrapper class to accomplish this).
I have only tested a version of this change which was based on v1.0.10, but there is minimal differences between the two versions. You can see that version on my fork