属性未添加到 g.addV() 上的顶点

Properties not added to a vertex on g.addV()

运行 我本地计算机上的 Gremlin 服务器具有以下设置:

gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
gremlin.tinkergraph.vertexIdManager=ANY
gremlin.tinkergraph.vertexPropertyIdManager=UUID
gremlin.tinkergraph.defaultVertexPropertyCardinality=list

当我运行查询时:

g.addV('Root')
.property(id,'15c9a352-2261-4ba1-8f54-96d6ac0c1a47')
.property('linkId','15c9a352-2261-4ba1-8f54-96d6ac0c1a47')
.property('name','Root')

我收到以下回复:

{"id":"15c9a352-2261-4ba1-8f54-96d6ac0c1a47","label":"Root","type":"vertex","properties":{}}

未添加属性,当我获取存储的顶点时,它也不包含属性。

当我运行以下查询时:

graph.addVertex(
id, 'b83c53d4-6bfb-4b8c-a4f2-02a8c0f4a867', 
label, 'Root', 
'linkId', 'b83c53d4-6bfb-4b8c-a4f2-02a8c0f4a867', 
'name', 'root')

我收到以下回复:

{
   "id":"b83c53d4-6bfb-4b8c-a4f2-02a8c0f4a867",
   "label":"Root",
   "type":"vertex",
   "properties":{
      "linkId":[
         {
            "id":"ad8c4ace-7752-40f5-a531-4e03e2083a06",
            "value":"b83c53d4-6bfb-4b8c-a4f2-02a8c0f4a867"
         }
      ],
      "name":[
         {
            "id":"b16492c1-7a43-421d-aa8c-d8f51b2a358e",
            "value":"root"
         }
      ]
   }
}

我知道第一个查询是使用 g = graph.traversal() ,第二个是使用图形对象。

为什么添加顶点后属性的结果会有所不同?

我的 gremlin 服务器可能缺少某个设置,还是我的查询有问题?

解决方案是将 属性 gremlin.tinkergraph.defaultVertexPropertyCardinality 更改为 set

现在我的 gremlin 服务器设置如下:

gremlin.graph=org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
gremlin.tinkergraph.vertexIdManager=UUID
gremlin.tinkergraph.vertexPropertyIdManager=UUID
gremlin.tinkergraph.defaultVertexPropertyCardinality=set