2014-02-17 31 views
1

我正在嘗試編寫一個導入腳本,它將採用MySQL結果集並在我的Neo4J數據庫中添加節點和關係。爲了簡化問題,我的結果集具有以下字段:如何使用「MATCH .. CREATE UNIQUE ..」與neography

  • APPLICATION_ID
  • application_date
  • ACCOUNT_ID

我想創建一個Application標籤的節點,其中application_idamountapplication_date字段和另一個節點Account標籤與account_id字段和一個關聯它們之間的離子。

我的SQL查詢來自應用程序表,所以我不怕那裏的dups,但一個account_id可能會出現多次,我顯然不想爲此創建多個節點。

我使用neography(但願意切換,如果有更簡單的東西)。什麼是最好的(最簡單)的方式來實現呢? 我的腳本將在數據庫啓動之前刪除數據庫,因此不需要剩餘的數據。

我應該在創建索引之前使用create_unique_node
我想我可以使用「MATCH .. CRAETE UNIQUE ..」在密碼中做我想要的東西,那在neography中有什麼相同之處?我不明白index_name如何進入公式...
我應該還是不應該在Account上定義約束?

非常感謝, 這是我第一次用圖表的DB所以道歉,如果我錯過這裏的一個概念..

回答

1

從你的描述,它看起來像你應該使用附帶的Neo4j 2.0約束:http://docs.neo4j.org/chunked/milestone/query-constraints.html#constraints-create-uniqueness-constraint

創建約束ON(帳戶:ACCOUNT)ASSERT account.account_id是獨一無二的

然後你可以使用MATCH ..創建所有的刀片UNIQUE條款。您可以使用neography來提交密碼查詢,請參閱這裏的示例:​​

+0

您知道neography中是否存在「匹配」和「創建唯一」語法?或者我必須使用'執行查詢'? –

+0

使用您的密碼查詢中的「execute_query」作爲參數。 Neography只是Neo4j的REST端點的一個包裝,它沒有附加功能。 – RaduK