2017-09-13 13 views
0

사용자 정점이 이미 생성되었습니다.Gremlin - 하나의 쿼리로 정점을 선택하고 새로운 정점과 에지를 만듭니다.

g.V().has('user','username','vipul').as('user') 

는 또한 몇 가지 특성과 다른 특성을 가진 새로운 '옵션'을 정점으로 새로운 '그룹의 정점을 만들려고합니다.

g.addV(label,'group','group_name','DC11').as('group') 
g.addV(label,'options','command_line_arguments','-D -n').as('options') 

이제 사용자와 그룹 사이의 가장자리를 만들고 그룹에서 옵션으로 가장자리를 만들고 싶습니다.

user ---> group, group ---> options 

이러한 쿼리를 결합하여 정점을 선택하고 새 정점을 만든 다음 새 모서리를 만들 수 있습니까? 내가 그 양식을 선호하는 나는이 property 단계와 속성을 설정

g.V().has('user','username','vipul').as('user'). 
    addV('group').property('group_name','DC11').as('group'). 
    addE('memberOfGroup').from('user'). 
    addV('options').property('command_line_arguments','-D -n'). 
    addE('hasOptions').from('group') 

참고,하지만 당신은 또한 addV 단계를 직접 추가 할 수 있습니다

답변

2

당신은 단계를 단순히 함께 체인 수 있습니다.

실제적으로 보시려면 in GremlinBin을 참조하십시오.

+0

답해 주셔서 감사합니다. janusgraph 설정과 gremlin 버전이 3.2.3이고이 쿼리가 작동하지 않습니다. 이런 종류의 addV와 addE는 벌크로드를 위해 3.3.0과 함께 제공됩니다. 당신이 제안 할 수있는 다른 대안? 그게 좋을거야 –

+1

JanusGraph 버전과 TinkerPop 버전을 정렬해야합니다. Florian이 제공 한 구문은 JanusGraph 0.1.1/TinkerPop 3.2.3에서 작동합니다. https://gist.github.com/pluradj/48a29692c07f700dc1350fcbb2b521f5 –

+0

JanusGraph 버전 호환성 매트릭스 http://docs.janusgraph.org/latest/version-compat를 참조하십시오. .html –