2012-05-08 2 views
2

내 사전의 키 - 값 저장소를 neo4jrestclient의 노드 속성으로 가져 오는 가장 쉽고/가장 좋은 방법은 무엇입니까? neo4jrestclient를 사용하여 파이썬 사전의 속성을 가진 노드를 만드는 방법은 무엇입니까?

나는 노드 만드는 동안

nodeDict = {"color":"Red", "width":16, "height":32} 

가 어떻게 재산 목록에 사전을 삽입 할 사전을 가지고? neo4jrestclient 문서 페이지에서

는 특성을 가진 노드를 만들 수있는 방법은

n = gdb.nodes.create(color="Red", widht=16, height=32) 

나는 각각의 키 - 값 저장소에 대한 JSON 요청을 생성, 사전을 반복 할 수있다, 그러나 그것은 잘못된 것 같다. 노드를 만들고 속성을 할당하는 작업은 단일 JSON 요청으로 수행해야합니다. 맞습니까?

사전을 문자열로 변환하고 중괄호를 제거하고 콜론을 등호로 변경할 수 있지만 잘못된 것으로 보입니다.

감사합니다.

답변

4

neo4j API를 모른다.

create n = {props} 

과 패스, 나는 확실히 사이퍼가 Neo4jRestClient 아직 지원됩니다,하지만 당신이 http://docs.neo4j.org/chunked/snapshot/query-create.html#create-create-single-node-from-map처럼 할 수 아니다, 또한

n = gdb.nodes.create(**nodeDict) 
+0

매우 우아합니다! – subiet

+0

이것은 가장 간결한 솔루션입니다. 또한 노드가 이미 존재하지만 dict에 기반하여 모든 속성을 업데이트하는 경우, n.properties = { 'a': 1}'[버전 1.7.0] (https : // github .com/versae/neo4j-rest-client/issues/63). – mhermans

0

:하지만 당신은 argument unpacking이 일을해야 무엇을 설명 제공 매개 변수로 소품에.

HTH

+0

Cypher는 플러그인으로 사용할 수 있습니다 (https://groups.google.com/forum/#!msg/neo4j/6aiAsjhr9-I/kJyrrC9pUqoJ). neo4jrestclient의 다음 릴리스까지는 가능하지만 추악합니다. – McPedr0

+0

그리고 이제는 핵심 REST API의 일부입니다. http://docs.neo4j.org/chunked/snapshot/rest-api-cypher.html을 참조하십시오. –

관련 문제