Как заставить gremlin возвращать свойства вершин, когда я делаю запрос gV().ToList()? В настоящее время возвращается как неопределенное
У меня есть сервер gremlin, в котором данные проталкиваются с помощью некоторого кода C# (показано ниже). Он в основном перебирает свойства класса и добавляет эти свойства в граф.
Я общаюсь с этим сервером gremlin, используя gremlin в javascript. Когда я делаю gV().ToList, я получаю все вершины в виде массива json-объектов с id и меткой. однако свойство не определено:
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 ]
Однако когда я делаю gV (). 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();
}
Ожидаемые свойства должны отображаться, но они не определены.
1 ответ
Я думаю, что это та же проблема, что и здесь.
Вы можете просто попробовать:
g.V().valueMap(true).toList()