graphdb 3

Neo4j로 그래프db(gdb) 다루기: MERGE, 여러 속성 유니크 제약조건 (node key constraints

영어원문: https://neo4j.com/docs/cypher-manual/current/clauses/merge/ 이번엔 relationship(edge), 엣지를 그을 때의 MERGE 사용법을 다룬다. node(노드) 만들 때의 사용법은 바로 이전 글에. CREATE CONSTRAINT ON (n:Person) ASSERT n.name IS UNIQUE; CREATE CONSTRAINT ON (n:Person) ASSERT n.role IS UNIQUE; 이런식으로 노드의 property가 unique하도록 지정할 수 있다 + 다만 2020년 기준(neo4j 2.0.1) 여러 프로퍼티에 uniqueness 제약을 걸 수 없다고 한다. Enterprise edition neo4j 3.3에서는 node..

Database/GDB 2021.08.11

Neo4j로 그래프db(gdb) 다루기: MERGE 1

영어 원문: https://neo4j.com/docs/cypher-manual/current/clauses/merge/ MERGE: 데이터를 존재하는 node와 매치해 그걸 병합(bind)하거나 새로운 데이터(노드 등)를 생성해 병합한다. MATCH와 CREATE 을 합친 것과 같이 작동한다. 만약 특정한 이름을 갖는 유저 노드가 필요하다. 근데 그 이름을 갖는 노드가 없으면 새로운 노 드를 만든다. 성능 면에서 MERGE를 사용할 때엔 label이나 property에 스키마 인덱스를 만들어두는 것이 좋다 MERGE를 사용할 땐 완벽히 매치(full pattern)되어야한다. [all or nothing] - 만약 부분적으로 비교해야할 경우 여러 MERGE 절로 쪼개 비교한다. 현재 'Charlie Sh..

Database/GDB 2021.08.11