*/
@Override
protected Vertex createEmptyVertex(String vertexId, Class<? extends Object> valueClass, Object value) {
// technical vertex id is no more used by gaedo which only rley upon the
// getIdOfVertex method !
Vertex returned = database.addVertex(valueClass.getName() + ":" + vertexId);
setIndexedProperty(returned, Properties.value.name(), vertexId, IndexNames.VERTICES);
if (Literals.containsKey(valueClass)) {
// some literals aren't so ... literal, as they can accept incoming
// connections (like classes)
setIndexedProperty(returned, Properties.kind.name(), Literals.get(valueClass).getKind().name(), IndexNames.VERTICES);
setIndexedProperty(returned, Properties.type.name(), Literals.get(valueClass).getTypeOf(value), IndexNames.VERTICES);
} else {
if (repository.containsKey(valueClass)) {
setIndexedProperty(returned, Properties.kind.name(), Kind.uri.name(), IndexNames.VERTICES);
} else if (Tuples.containsKey(valueClass)) {
// some literals aren't so ... literal, as they can accept
// incoming connections (like classes)
setIndexedProperty(returned, Properties.kind.name(), Tuples.get(valueClass).getKind().name(), IndexNames.VERTICES);
}
// obtain vertex for type
Vertex classVertex = classTransformer.getVertexFor(getDriver(), valueClass, CascadeType.PERSIST);
Edge toType = getDriver().createEdgeFor(returned, classVertex, TypeProperty.INSTANCE);
/*
* Make sure literals are literals by changing that particular edge
* context to a null value. Notice we COULD have stored literal type
* as a property, instead of using