2015-01-08 3 views
3

저는 Python을 사용하여 neo4j에 액세스하고 노드를 만듭니다. 노드를 만들기 전에 존재하는지 확인하고 싶습니다.python을 사용하여 neo4j에서 사이퍼 쿼리의 응답을 얻는 방법 나머지 ap

  "query" : "match (PPnode:Node) return PPnode" 

그리고 요청 라이브러리의 방법을 사용하여 : :

  r.text 

내 POST 요청의 응답 문자열을 얻을 나는이 쿼리를 실행합니다. 파이썬 및 나머지 API를 사용하여 특정 이름의 기존 노드가 있는지 확인하는 "우아한"방법이 있다면 제 질문입니다.

import requests 
    import json 
    import csv 

    headers = {'content-type': 'application/json'} 
    url = "http://localhost:7474/db/data/cypher" 


    fparts = open('FOC.csv') 
    csv_pseudo = csv.reader(fparts) 


    for row in csv_pseudo: 

    # query to check if node exists 
    checkNode = {"query" : "match (PPnode:Node) return PPnode"} 
    mkr =requests.post(url, data=json.dumps(checkNode), headers=headers) 

감사 디미트리

답변

5

난 당신이 당신이 필요한 것보다 여기에 더 열심히 일하게 될 것 같아요 :

이 내 코드입니다. py2neo이라는 라이브러리가 있습니다.이 라이브러리는 훨씬 간단하게하기를 원할 것입니다. the documentation on how to run Cypher queries에서

:

from py2neo import Graph 
graph = Graph("http://nifty-site:1138/db/data/") 
results = graph.cypher.execute("match (PPnode:Node) return PPnode") 

for r in results: 
    # get the node you return in your query 
    ppNode = r[0] 
    # get the properties of your node 
    props = ppNode.get_properties() 
    # Do nifty stuff with properties, not JSON. 
+0

는 PHP 비슷한 무언가가 거기에 당신이 그것을 사용한다면, 당신은 다루기 쉽게 될 수있는, 다시 대신 원시 JSON의 실제 객체를 얻을 수 있을까? – user1919

+1

@dkar https://github.com/jadell/neo4jphp – FrobberOfBits

+0

이 PHP 라이브러리를 설치하는 방법을 이해하는 데 어려움을 겪고 있습니다. 나는 전에 작곡가를 사용하지 않았다. 나에게 좋은 튜토리얼을 제안 해 주시겠습니까? 나는 MAMP를 사용하여 Windows8 OS에서 내 localserver를 설정합니다. 나는 작곡가와 그 다음에 composer.json 파일을 설치했으나 후에 무엇을 해야할지 모르겠습니다. – user1919

관련 문제