0

データがいくつかの c# コードによってプッシュされる gremlin サーバーがあります (以下を参照)。基本的に、クラスのプロパティを反復処理し、それらのプロパティをグラフに追加します。

このグレムリン サーバーとは、javascript でグレムリンを使用して通信します。gV().ToList を実行すると、すべての頂点が ID とラベルを持つ 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 ]

ただし、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();
               }

予期されるプロパティが表示されるはずですが、未定義です。

4

1 に答える 1