Экземпляр 'Graph' не имеет члена 'cypher' - python - PullRequest
0 голосов
/ 06 марта 2020

Я пытаюсь подключиться к экземпляру Neo4j с помощью Py2neo

from py2neo import Graph
import re, string

# default uri for local Neo4j instance
graphdb = Graph('http://neo4j:neo4j@localhost:7474/db/data')

# parameterized Cypher query for data insertion
# t is a query parameter. a list with two elements: [word1, word2]
INSERT_QUERY = '''
    FOREACH (t IN {wordPairs} |
        MERGE (w0:Word {word: t[0]})
        MERGE (w1:Word {word: t[1]})
        CREATE (w0)-[:NEXT_WORD]->(w1)
        )
'''

и загрузить данные, а затем применить некоторые шифрованные команды к загруженным данным

# load our text corpus into Neo4j
def loadFile():

    tx = graphdb.cypher.begin()
    with open('data/ceeaus.dat', encoding='ISO-8859-1') as f:
        count = 0
        for l in f:
            params = {'wordPairs': arrifySentence(l)}
            tx.append(INSERT_QUERY, params)
            tx.process()
            count += 1
            # process in batches of 100 insertion queries
            if count > 100:
                tx.commit()
                tx = graphdb.cypher.begin()
                count = 0
    f.close()
    tx.commit()

Теперь проблема в том, что vscode не распознает cypher как член Graph или не распознает graphdb как экземпляр Graph .

Проблема в этой строке graphdb.cypher.begin() Я попытался прочитать документы для cypher и обнаружил, что в классе Graph существует член Cypher; и функция начала в шифре py2neo.

Я использую py2neo v 4.3 и python 3.7 и neo4j v 1.2.4 Заранее спасибо.

1 Ответ

1 голос
/ 06 марта 2020

Поскольку вы используете py2neo 4.3, вам нужно использовать API v4. Вы просматривали документацию v2.

В py2neo v4, График не имеет метода cypher. Вместо этого вы можете использовать метод run.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...