Gremlin API를 사용하여 중첩 된 속성을 작성하고 Cosmos DB를 지원하는 방법이 있습니다. 그러나 이것에 대한 스키마 요구 사항은 설명 된 방식으로 JSON 문서 형식에 매핑되지 않습니다.
Gremlin 정점 특성은 키 당 여러 값과 값 당 메타 속성 (중첩 된 속성)을 가질 수 있습니다. '정점 속성 ('이름을 '추가 -
가
g.V('vertex_id').property('name', 'marko') // (1)
g.V('vertex_id').properties('name').hasValue('marko').property('metaprop', 'value') // (2)
(1) :
내가 여기 Tinkerpop reference on Vertex Properties
읽고 권하고 싶습니다 당신이 놈아 통해 정점 속성에 중첩 된 속성을 추가 할 수있는 방법입니다 마르코는) (2 참조) - ('이름', '마르코) 속성을 여기
그리고에 중첩 된 속성을 추가하면 정점 속성 스키마 CosmosDB에 저장 될 것 JSON 문서의 예입니다
{
id: <ID>,
label: 'person',
name: [{
id: <ID>,
_value: 'marko',
_meta : {
metaprop: 'value'
}
}],
address: [
{
id: <ID>,
_value: 'street 1',
_meta: {
type: 'street',
somethingElse: 'value'
}
},
{
id: <ID>,
_value: 'new york',
_meta: {
type: 'city',
anotherMeta: 'something'
}
}
]
}
고맙습니다. 정점 속성에 대해 알지 못했습니다. 그러나 아직 유 용한 JSON과이 구조 사이를 변환하는 어댑터를 작성해야하므로이 경우에는 충분하지 않습니다. 또한 중첩 된 속성에 인덱스를 만들 수 있는지 여부를 알지 못합니다. 필요한 항목입니다. – mikestaub
명확히하기 : 원시 JSON을 CosmosDB 그래프 정점에 처리하는 것이 목표라면 올바른 것이고 현재 지원하려면 데이터 모델을 Gremlin 정점 구조에 적용해야합니다. 공유 할 수있는 JSON 문서의 예제/샘플이 있습니까? 우리는 Gremlin과 함께 JSON을 더 쉽고 유창하게 읽고 쓰고, 특정 스키마 요구 사항을 피할 수있는 형식을 지원하려고합니다. 이 작업은 진행 중이며 앞으로 더 자세한 내용을 제공 할 것입니다. –
안녕 Olivier, 예제 데이터를 제공 할 수는 없지만 ArangoDB가 제공하는 그래프 API를 살펴 보겠습니다. 가능한 한 간단하고 새로운 정점을 만들기 위해 유효한 JSON을 전달해 보겠습니다. https://docs.arangodb.com/3.2/HTTP/Gharial/Vertices.html – mikestaub