2

핵심 관계 목록 v1

관계·속성·제약 설계

학습 목표
  • 8기둥을 가로지르는 주요 관계 30선을 파악한다
  • 역할 패턴이 관계로 구현되는 방식을 이해한다

핵심 관계 목록 v1

8기둥을 가로지르는 주요 관계들입니다. 전체 목록은 스펙 문서에 담고, 여기서는 골격 30선을 봅니다.

정체성·소속 축

(Vessel)-[:OPERATED_BY]->(Carrier)                    // PL-09
(TerminalOperator)-[:OPERATES {from,to}]->(Terminal)  // 논쟁① 결론, 유효기간
(Terminal)-[:PART_OF]->(Port)                          // PL-08
(Berth)-[:BELONGS_TO]->(Terminal)                      // PL-03
(YardSlot)-[:WITHIN]->(YardBlock)-[:WITHIN]->(Yard)-[:WITHIN]->(Terminal)
(Equipment)-[:ASSIGNED_TO {from,to}]->(Terminal)       // AN-03, 유효기간

기항 허브 축 — PortCall 이 그랜드 센트럴

(Vessel)-[:MAKES_CALL]->(PortCall)-[:AT_PORT]->(Port)  // PL-01
(PortCall)-[:ALLOCATED_TO]->(Berth)                    // PL-02·03
(PortCallEvent)-[:PART_OF_CALL]->(PortCall)            // PL-04
(PilotageEvent)-[:PERFORMED_BY]->(Pilot)               // OP-13
(PortCall)-[:PRECEDED_BY]->(PortCall)                  // 항차 내 순서, PL-01
(Declaration)-[:CONCERNS]->(PortCall)                  // CO-01, AN-10

화물 흐름 축

(Container)-[:CARRIED_ON]->(Vessel)         // 구간별 이벤트로 시각화 (다음 과제)
(Container)-[:CONTAINS]->(Cargo)            // 논쟁③, LCL 대응 다대다
(Container)-[:LOCATED_AT]->(YardSlot|Berth|Gate…)   // OP-01, 현재 위치
(CargoOperationEvent)-[:HANDLES]->(Container)        // OP-08·09
(CargoOperationEvent)-[:USING]->(QuayCrane)          // OP-08, TIC 4.0 Move 귀속
(TransshipmentEvent)-[:FROM_VESSEL]->(Vessel), [:TO_VESSEL]->(Vessel)  // OP-10
(GateTransaction)-[:MOVES]->(Container), [:BY_TRUCK]->(Truck)          // OP-07
(DeliveryOrder)-[:AUTHORIZES]->(GateTransaction)     // OP-06
(Manifest)-[:DECLARES]->(Cargo)                      // CO-08
(BillOfLading)-[:COVERS]->(Cargo), [:SHIPPER|CONSIGNEE]->(CargoOwner)  // 역할 패턴

규칙·지표 축

(SegregationRule)-[:APPLIES_TO]->(DangerousGoods 분류)   // CO-02
(Metric)-[:MEASURES]->(Terminal|Carrier|Berth…), [:FOR_PERIOD]->(기간)  // PL-05·09

역할 패턴의 실전형

앞 모듈에서 예고한 역할 패턴이 B/L 관계에 있습니다. CargoOwner라는 클래스는 하나지만, SHIPPER 관계로 연결되면 송하인, CONSIGNEE 관계로 연결되면 수하인입니다.

핵심은 이겁니다 — 회사 노드는 중복 생성되지 않습니다. 같은 회사를 역할마다 따로 만들면 AN-09(같은 실체인데 식별자가 다른 레코드 탐지)가 애초에 불가능해집니다. 개체 해소의 전제가 여기서 만들어집니다.

용어