我有一个gremlin服务器,其中的数据由某些c#代码推送(如下所示),它基本上是对类的属性进行迭代并将这些属性添加到图形中。
我使用javascript中的gremlin与该gremlin服务器通信。当我执行g.V()。ToList时,我将所有顶点作为具有id和label的json对象数组。但是属性未定义:
Vertex { id: 50543, label: 'asdad', properties: undefined },
Vertex { id: 51569, label: 'b', properties: undefined },
Vertex { id: 50547, label: 'c', properties: undefined },
Vertex { id: 50551, label: 'd', properties: undefined },
Vertex { id: 50555, label: 'e', properties: undefined },
Vertex { id: 50559, label: 'f', properties: undefined },
Vertex { id: 50563, label: 'g', properties: undefined },
Vertex { id: 50567, label: 'h', properties: undefined },
... 151 more items ]
但是当我执行g.V()。properties()时,我看到的属性列为顶点属性:
VertexProperty {
id: 52349,
label: 'E',
value: 'P',
key: 'E',
properties: undefined },
VertexProperty {
id: 52351,
label: 'id',
value: '187516',
key: 'id',
properties: undefined },
VertexProperty {
id: 52350,
label: 'Name',
value: 'b',
key: 'Name',
properties: undefined },
VertexProperty {
id: 52353,
label: 'E',
value: 'P',
key: 'E',
properties: undefined },
上面显示了属性已添加,但在我进行的第一个调用中我需要它们。
g.AddV(v1.Name).Next();
PropertyInfo[] properties = v1.GetType().GetProperties();
foreach (PropertyInfo property in properties)
{
var v = g.V().HasLabel(v1.Name).Property(property.Name, property.GetValue(v1)).Next();
}
应该显示预期的属性,但是它们是未定义的。