如何在orientdb中使用保留关键字作为列名?

时间:2015-11-13 15:59:38

标签: java orientdb

我想使用" id"作为orientdb中顶点的属性名称。我正在使用tinkerpop api。

我可以使用" id"如果我通过JSON直接插入数据,则作为属性名称。

INSERT INTO PERSON CONTENT{"id":1}

但是我无法从JAVA那样做。

vertex.setProperty("id", 1, OType.INTEGER);

这是我得到的错误:

(java.lang.IllegalArgumentException) java.lang.IllegalArgumentException: Property key is reserved for all elements: id

2 个答案:

答案 0 :(得分:0)

OrientGraph graph=new OrientGraph(currentPath); 

OClass person = graph.getRawGraph().getMetadata().getSchema().getClass("Person");
person.createProperty("id", OType.STRING);

答案 1 :(得分:0)

出现此类异常的原因是因为这违反了Blueprints标准。 但是,您始终可以使用以下命令禁用此类约束:graph.setStandardElementConstraints(false)