本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
openCypher 資料的載入格式
若要使用 openCypher CSV 格式載入 openCypher 資料,您必須在個別檔案中指定節點和關係。載入器可以在單一載入工作中從其中多個節點檔案和關係檔案載入。
對於每個載入命令,要載入的檔案集必須在 Amazon Simple Storage Service 儲存貯體中具有相同的路徑字首。您可以在 source 參數中指定該字首。實際檔案名稱和副檔名並不重要。
在 Amazon Neptune 中 openCypher CSV,格式符合 RFC 4180 CSV規格。如需詳細資訊,請參閱 Internet Engineering Task Force () 網站上的CSV檔案 (/rfc4180) 的常見格式和MIME類型
注意
這些檔案MUST的編碼格式為 UTF-8。
每個檔案都有一個以逗號分隔的標頭列,其中包含系統欄標頭和屬性欄標頭。
openCypher 資料載入檔案中的系統欄標頭
一個給定系統欄只能在每個檔案中出現一次。所有系統欄標頭標籤都會區分大小寫。
openCypher 節點載入檔案和關係載入檔案需要和允許的系統欄標頭不同:
節點檔案中的系統欄標頭
-
:ID
– (必要) 節點的 ID。選用的 ID 空間可以新增至節點
:ID
欄標頭,如下所示::ID(
。例如,ID Space
):ID(movies)
。載入連線此檔案中節點的關係時,請在關係檔案
:START_ID
和/或:END_ID
欄中使用相同的 ID 空間。節點
:ID
欄可以選擇性地儲存為屬性,格式為
。例如,property name
:IDname:ID
。節點在目前和先前負載中的所有節點檔案之間IDs應是唯一的。如果使用 ID 空間,則節點在目前和先前負載中使用相同 ID 空間的所有節點檔案中IDs應是唯一的。
-
:LABEL
– 節點的標籤。允許多個標籤值,以分號 (
;
) 分隔。
關係檔案中的系統欄標頭
-
:ID
– 關係的 ID。當userProvidedEdgeIds
為 true (預設值) 時,這是必要的,但在userProvidedEdgeIds
為false
時無效。目前和先前載入中所有關係檔案的關係IDs應是唯一的。
-
:START_ID
– (必要) 此關係起始之節點的節點 ID。或者,ID 空間可與格式為
:START_ID(
的起始 ID 欄相關聯。指派給起始節點 ID 的 ID 空間應與指派給節點檔案中節點的 ID 空間相符。ID Space
) -
:END_ID
– (必要) 此關係結束之節點的節點 ID。或者,ID 空間可與格式為
:END_ID(
的結束 ID 欄相關聯。指派給結束節點 ID 的 ID 空間應與指派給節點檔案中節點的 ID 空間相符。ID Space
) -
:TYPE
– 關係的類型。關係只能具有單一類型。
注意
如需大量載入程序如何處理重複節點或關係的相關資訊IDs,載入 openCypher 資料請參閱 。
openCypher 資料載入檔案中的屬性欄標頭
您可以使用下列格式的屬性欄標頭,指定資料欄保留特定屬性的值:
propertyname
:type
欄標頭中不允許空格、逗號、歸位字元和新行字元,因此屬性名稱不能包含這些字元。以下是名為 age
且類型為 Int
之屬性的欄標頭範例:
age:Int
以 age:Int
作為欄標頭的資料欄接著必須在每一列中包含整數或空值。
Neptune openCypher 資料載入檔案中的資料類型
-
Bool
或Boolean
– 布林值欄位。允許的值為true
和false
。除
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"""
。 -
DateTime
– 下列其中一個 ISO-8601 格式的 Java 日期:yyyy-MM-dd
yyyy-MM-ddTHH:mm
yyyy-MM-ddTHH:mm:ss
yyyy-MM-ddTHH:mm:ssZ
Neptune 資料 openCypher 載入檔案中的自動傳送資料類型
提供自動轉換資料類型旨在載入 Neptune 目前原本不支援的資料類型。這類欄中的資料會逐字儲存為字串,不對其預期格式進行驗證。允許下列自動轉換資料類型:
-
Char
–Char
欄位。儲存為字串。 -
Date
、LocalDate
和LocalDateTime
– 請參閱 Neo4j Temporal Instants,以取得 date
、localdate
和localdatetime
類型的說明。這些值會逐字載入為字串,無需驗證。 -
Duration
– 請參閱 Neo4j Duration 格式。這些值會逐字載入為字串,無需驗證。 -
Point – 用於儲存空間資料的點欄位。請參閱 Spatial instants
。這些值會逐字載入為字串,無需驗證。
openCypher 載入格式範例
下圖取自 TinkerPop 現代圖表,顯示兩個節點和關係的範例:
以下是正常 Neptune openCypher 載入格式的圖表。
節點檔案:
: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