Применение пакетов python graph-tools / network x в базе данных Neo4j
Я приступаю к самостоятельному ознакомительному проекту, касающемуся базы данных Neo4j в Панамских документах ICIJ.
Цель: я хотел бы запустить пакеты python, которые выполняют анализ сети, такие как graph-tool, networkx, в базе данных, которая находится на Neo4j.
Следовательно, это шаги, которые я предпринял:
- Загрузите Neo4j-драйвер, который я загрузил
- Подключиться к песочнице Neo-4j через pycharm
Это код:
#
from neo4j.v1 import GraphDatabase, basic_auth
driver = GraphDatabase.driver(
"bolt://34.239.248.240:33621",
auth=basic_auth("neo4j", "fares-documentation-reproductions"))
session = driver.session()
# What are the Entities in Panama Papers?
cypher_query = '''
MATCH (e:Entity)
RETURN e.name AS name LIMIT $limit
'''
results = session.run(cypher_query,
parameters={"limit": 10})
for record in results:
print(record['name'])
#
Это было сообщение об ошибке, показанное:
neo4j.exceptions.ServiceUnavailable: невозможно установить соединение с адресом (host='34.239.248.240', port=33621)
Я получил болт / порт / хост с сайта песочницы: https://neo4j.com/sandbox-v2/
Кроме того, я попытался проверить, правильно ли установлен драйвер neo4j, и запустил код тест-драйвера:
#
from neo4j.v1 import GraphDatabase
uri = "bolt://localhost:7474"
driver = GraphDatabase.driver(uri, auth=("neo4j", "user"))
def print_friends_of(name):
with driver.session() as session:
with session.begin_transaction() as tx:
for record in tx.run("MATCH (a:Person)-[:KNOWS]->(f) "
"WHERE a.name = {name} "
"RETURN f.name", name=name):
print(record["f.name"])
print_friends_of("Alice")
#
В котором этот код ошибки был показан:
neo4j.exceptions.SecurityError: Не удалось установить безопасное соединение с неизвестным протоколом [SSL: UNKNOWN_PROTOCOL] (_ssl.c:749)
Не могли бы вы посоветовать?
1 ответ
Мне удалось решить эту проблему, загрузив базу данных graph db прямо на мой локальный сервер. Порт болта 7474.