개체를 생성하는 프레임 워크를 사용하고 있습니다. Node
이 이미 id를 할당했습니다. 이제 그들은 (node.id
로 액세스) 프레임 워크에서 제어 같은 ID타이탄 데이터베이스에서 정점 ID를 덮어 쓰는 방법은 무엇입니까?
public long addNode(Node node) {
TitanVertex vertex = (TitanVertex) g.addVertex(null);
g.commit();
vertex.setProperty(ID, node.id);
vertex.setProperty(TYPE, node.type);
vertex.setProperty(VERSION, node.version);
vertex.setProperty(TIME, node.time);
vertex.setProperty(DATA, node.data);
...
오류와 타이탄의 정점으로 변환해야합니다
java.lang.IllegalArgumentException: Name is reserved: id
하지만 그것을 허용하지 보인다. 보조 ID를 모방하기 위해 가짜 속성을 사용해야합니까? 타이탄은 그렇게 할 수있는 방법이 있습니까?
감사합니다.
좋은 답변입니다! 감사! 필자의 맥락에서 유일한 문제는 벤치 마크에서 키 인덱스가 있거나없는 테스트를 수행하고자한다는 것입니다. 데이터베이스에서 꼭지점 조회를 색인화하거나 사용자 정의 ID x 실제 ID 사이의 할당을 색인화합니다. 감사합니다. – Luccas
키 인덱스없이 작업해야하는 경우 "id"이외의 이름 (예 : "iid")을 사용하여 속성 이름을 만듭니다. 벤치 마크가 무엇인지는 언급하지 않지만 핵심 지표가 없으면 "iid"에 의한 조회가 선형 스캔으로 끝나기 때문에 상당히 나쁜 결과가 나타날 수 있습니다. 당신이 물어 보는 질문은 어떻게 타이탄이 주요 지표를 저장하는지와 관련이 있습니다. 그렇다면이 링크가 도움이 될 수 있습니다. https://github.com/elffersj/delftswa-aurelius-titan/blob/master/SA-doc/Mapping.md –
가장자리에 맞춤 ID를 추가하려면 IdGraph (base, true, 사실) 그렇다면 0.3.0에서 필요하기 전에 __id 속성을 만들어야 할 수도 있습니다. https://github.com/thinkaurelius/titan/issues/179 –