데이터 로드 형식 openCypher - Amazon Neptune

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

데이터 로드 형식 openCypher

openCypher CSV형식을 사용하여 openCypher 데이터를 로드하려면 별도의 파일에 노드와 관계를 지정해야 합니다. 로더는 단일 로드 작업으로 이러한 여러 노드 파일 및 관계 파일을 로드할 수 있습니다.

각 로드 명령에 대해 로드할 파일 세트는 Amazon Simple Storage Service 버킷에서 동일한 경로 접두사를 가져야 합니다. 소스 파라미터에 해당 접두사를 지정합니다. 실제 파일 이름과 확장자는 중요하지 않습니다.

Amazon Neptune에서는 openCypher CSV 형식이 4180 사양을 준수합니다. RFC CSV 자세한 내용은 인터넷 엔지니어링 태스크 포스 () 웹 사이트의 CSV 파일 일반 형식 및 MIME 유형 (https://tools.ietf.org/html/rfc4180) 을 참조하십시오. IETF

참고

이러한 파일은 -8 형식으로 MUST 인코딩됩니다. UTF

각 파일에는 시스템 열 헤더와 속성 열 헤더를 모두 포함하는 쉼표로 구분된 헤더 행이 있습니다.

데이터 로드 파일의 시스템 열 헤더 openCypher

지정된 시스템 열은 각 파일에 한 번만 표시될 수 있습니다. 시스템 열 헤더 레이블은 모두 대소문자를 구분합니다.

openCypher노드 로드 파일과 관계 로드 파일의 필수 및 허용 시스템 열 헤더는 다릅니다.

노드 파일의 시스템 열 헤더

  • :ID   –   (필수) 노드의 ID입니다.

    노드 :ID 열 헤더에 필요에 따라 :ID(ID Space)와 같이 ID 공간을 추가할 수 있습니다. 예를 들면, :ID(movies)입니다.

    이 파일의 노드를 연결하는 관계를 로드할 때는 관계 파일 :START_ID 및/또는 :END_ID 열에 동일한 ID 공간을 사용하세요.

    노드 :ID 열은 필요에 따라 property name:ID 형식의 속성으로 저장될 수 있습니다. 예를 들면, name:ID입니다.

    노드는 현재 및 이전 로드의 모든 노드 파일에서 IDs 고유해야 합니다. ID 공간을 사용하는 경우 현재 및 이전 로드에서 동일한 ID 공간을 사용하는 모든 노드 파일에서 노드가 IDs 고유해야 합니다.

  • :LABEL   –   노드의 레이블입니다.

    세미콜론(;)으로 구분된 여러 레이블 값을 사용할 수 있습니다.

관계 파일의 시스템 열 헤더

  • :ID   –   관계의 ID입니다. userProvidedEdgeIds 값이 true(기본값)인 경우 필수이지만, userProvidedEdgeIdsfalse일 경우 유효하지 않습니다.

    관계는 현재 및 이전 로드의 모든 관계 파일에서 IDs 고유해야 합니다.

  • :START_ID   –   (필수) 이 관계가 시작되는 노드의 노드 ID입니다.

    필요에 따라 ID 공간을 :START_ID(ID Space) 양식의 시작 ID 열과 연결할 수 있습니다. 시작 노드 ID에 할당된 ID 공간은 해당 노드 파일의 노드에 할당된 ID 공간과 일치해야 합니다.

  • :END_ID   –   (필수) 이 관계가 끝나는 노드의 노드 ID입니다.

    필요에 따라 ID 공간을 :END_ID(ID Space) 양식의 마지막 ID 열과 연결할 수 있습니다. 마지막 노드 ID에 할당된 ID 공간은 해당 노드 파일의 노드에 할당된 ID 공간과 일치해야 합니다.

  • :TYPE   –   관계 유형입니다. 관계는 단일 유형만 가질 수 있습니다.

참고

대량 로드 프로세스에서 중복된 노드 또는 관계를 IDs 처리하는 방법에 대한 자세한 내용은 을 참조하십시오 openCypher 데이터 로드.

openCypher 데이터 로드 파일의 속성 열 헤더

다음 형식의 속성 열 헤더를 사용하여 열에 특정 속성의 값이 포함되도록 지정할 수 있습니다.

propertyname:type

열 헤더에는 공백, 쉼표, 캐리지 리턴 및 줄 바꿈 문자를 사용할 수 없으므로 속성 이름에는 이러한 문자를 포함할 수 없습니다. Int 유형의 이름이 age인 속성에 대한 열 헤더의 예제는 다음과 같습니다.

age:Int

열 헤더로 age:Int가 포함된 열에는 모든 행에 정수 또는 빈 값이 포함되어야 합니다.

openCypher Neptune 데이터 로드 파일의 데이터 유형

  • Bool 또는 Boolean   –  부울 필드입니다. 허용되는 값은 truefalse입니다.

    true 이외의 모든 값은 false로 취급됩니다.

  • Byte   –   -128~127 범위 내의 정수입니다.

  • Short   –   -32,768~32,767 범위 내의 정수입니다.

  • Int   –   -2^31~2^31 - 1 범위 내의 정수입니다.

  • Long   –   -2^63~2^63 - 1 범위 내의 정수입니다.

  • Float— 32비트 IEEE 754 부동 소수점 숫자. 십진 표기법과 과학적 표기법이 모두 지원됩니다. Infinity, -Infinity, NaN 모두 인식되지만, INF는 인식되지 않습니다.

    자릿수가 너무 많아 맞출 수 없는 값은 가장 가까운 값으로 반올림되며, 중간 값은 비트 수준에서 마지막 남은 자릿수가 0으로 반올림됩니다.

  • Double— 64비트 IEEE 754 부동 소수점 숫자. 십진 표기법과 과학적 표기법이 모두 지원됩니다. Infinity, -Infinity, NaN 모두 인식되지만, INF는 인식되지 않습니다.

    자릿수가 너무 많아 맞출 수 없는 값은 가장 가까운 값으로 반올림되며, 중간 값은 비트 수준에서 마지막 남은 자릿수가 0으로 반올림됩니다.

  • String   –   인용 부호는 선택 사항입니다. 쉼표, 줄 바꿈 및 캐리지 리턴 문자가 "Hello, World"와 같이 큰 따옴표(")로 묶인 문자열에 포함된 경우에는 자동으로 이스케이프됩니다.

    예를 들어, "Hello ""World"""처럼 2개를 연속으로 사용하여 따옴표로 묶인 문자열에 따옴표를 포함할 수 있습니다.

  • DateTime— 다음 ISO -8601 형식 중 하나의 자바 날짜:

    • yyyy-MM-dd

    • yyyy-MM-ddTHH:mm

    • yyyy-MM-ddTHH:mm:ss

    • yyyy-MM-ddTHH:mm:ssZ

openCypher Neptune 데이터 로드 파일의 데이터 유형 자동 전송

자동 캐스트 데이터 유형은 현재 Neptune에서 기본적으로 지원되지 않는 데이터 유형을 로드하기 위해 제공됩니다. 이러한 열의 데이터는 의도된 형식에 대한 검증 없이 문자열 그대로 저장됩니다. 다음과 같은 자동 캐스트 데이터 유형이 허용됩니다.

  • Char   –   Char 필드입니다. 문자열로 저장됩니다.

  • Date, LocalDate, LocalDateTime   –  date, localdate, localdatetime 유형에 대한 설명은 Neo4j 임시 인스턴스를 참조하세요. 값은 검증 없이 문자열 그대로 로드됩니다.

  • Duration   –   Neo4j 기간 형식을 참조하세요. 값은 검증 없이 문자열 그대로 로드됩니다.

  • Point   –   공간 데이터를 저장하기 위한 포인트 필드입니다. 공간 인스턴트를 참조하세요. 값은 검증 없이 문자열 그대로 로드됩니다.

로드 형식 예제 openCypher

TinkerPop 모던 그래프에서 가져온 다음 다이어그램은 두 노드와 관계의 예를 보여줍니다.

두 노드와 노드 간 관계를 보여주는 다이어그램.

다음은 일반 openCypher Neptune 로드 형식의 그래프입니다.

노드 파일:

:ID,name:String,age:Int,lang:String,:LABEL v1,"marko",29,,person v2,"lop",,"java",software

관계 파일:

:ID,:START_ID(person),:END_ID(software),:TYPE,weight:Double e1,"marko","lop",created,0.4

또는 다음과 같이 ID 공간과 ID를 속성으로 사용할 수 있습니다.

첫 번째 노드 파일:

name:ID(person),age:Int,lang:String,:LABEL "marko",29,,person

두 번째 노드 파일:

name:ID(software),age:Int,lang:String,:LABEL "lop",,"java",software

관계 파일:

:ID,:START_ID,:END_ID,:TYPE,weight:Double e1,"marko","lop",created,0.4