2017-05-19 1 views
0

Neo4j 데이터베이스에 CSV 파일을 가져 왔습니다. 코드의 일부는 다음과 같습니다.Neo4j에서 레일로 노드 연결

LOAD CSV WITH HEADERS from "file:///AccountTry.csv" as row 
WITH row, split(row.birth_date, '-') as date 
CREATE (a:AccountTest {id: toInteger(row.id), account_type: row.account_type, first_name: row.first_name, last_name: row.last_name }) 

그리고 제대로 작동합니다. neo4j 브라우저에서 모든 노드와 속성을 볼 수 있습니다. 그런 다음 내가 레일 응용 프로그램에서 모델을 만든 :

class AccountTest 
    include Neo4j::ActiveNode 
    property :first_name, type: String 
    property :id, type: Integer 
    property :last_name, type: String 
    property :account_type, type: String 
end 

나는 마이그레이션을 만들어 그 잘 작동합니다. 레일즈 콘솔을 열고 "AccountTest.first"를 시도 할 때, 모든 속성은 괜찮습니다. 단지 "AccountTest.id : nil"속성입니다.

"id"가 아닌 이유는 무엇입니까? 나는 6 개의 노드를 가지고 있고 레일 애플리케이션에 모두 id = nil이 있지만 Neo4j 브라우저에는 모두 올바른 ID가 있습니다.

답변

0

AccountTest 클래스에서 id 속성을 선언 할 필요가 없다고 생각합니다. 이 속성은 기본 키이며 기본적으로 있습니다.

추가 속성 (Neo4j에서 생성 된 ID와 다른 양식)이므로 accountTest (예 : account_id)에서 속성의 이름을 변경하고 CSV 가져 오기를 변경하여 account_id 필드에 값을로드하는 것이 좋습니다.

Neo4j 데이터베이스에서
+0

내가 가진 두 개의 "ID"의 : - 마녀가 neo4j에 의해 이루어집니다, ID - 관계형 데이터베이스에서 나는 (내가 한 것을 필요) CSV 파일을 가져 오기에서 가져온 –