2017-05-10 5 views
1

CSV 파일에서 데이터를 읽고 Neo4J 데이터베이스의 기존 노드에 동적 속성으로 설정하려고합니다. 데이터 (이름 및 속성 값)를 모르기 때문에 setProperty 프로 시저를 사용하고 있습니다. 이 row.attribute_value가 null가 아닌 한 작동csv 파일에서 데이터 읽기 및 null 값을 무시하는 동적 속성으로 설정

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM "file:\\Attribute.csv" AS row 
MATCH (linkableArtifact:LinkableArtifact {linkableArtifactID: row.linkable_artifact}) 
CALL apoc.create.setProperty(linkableArtifact, row.attribute_name, row.attribute_value) 
YIELD node 
RETURN COUNT(node) 

: 이것은 내 사이퍼 스크립트입니다. row.attribute_value를 확인하는 방법이 있나요 다음 프로 시저를 호출할지 여부를 결정하는

Failed to call procedure `apoc.create.setProperty(nodes :: ANY?, key :: STRING?, value :: ANY?) :: (node :: NODE?)`: [null] is not a supported property value 

: 그럼 다음과 같은 오류가?

답변

0

암호는 선언적 언어입니다, 그래서 쉽게 row.attribute_value is not NULL의 : 빠른 답변

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM "file:\\Attribute.csv" AS row 
WITH row WHERE row.attribute_value is not NULL 
MATCH (artifact:LinkableArtifact {linkableArtifactID: row.linkable_artifact}) 
CALL apoc.create.setProperty(artifact, 
          row.attribute_name, 
          row.attribute_value 
) 
YIELD node 
RETURN COUNT(node) 
+0

감사합니다. 그것은 위대한 작품과 나는 새로운 것을 배웠습니다! ;) –