知识图谱:【图数据库Nebula(八)】——Nebula Python

文章目录

    • Nebula Python简介
    • Nebula Python安装
      • 方法一:pip安装
      • 方法二:源码安装
        • Step 1. 克隆Nebula Python源码
        • Step 2. 进入目录nebula-python
        • Step 3. 安装依赖包
        • Step 4. 执行如下命令安装
    • 连接Graph服务
    • 连接Storage服务

Nebula Python简介

Nebula Python是一款Python语言的客户端,可以连接、管理Nebula Graph图数据库。

Nebula Python安装

方法一:pip安装

$ pip install nebula2-python==2.5.0

方法二:源码安装

Step 1. 克隆Nebula Python源码

$ git clone --branch v2.5.0 https://github.com/vesoft-inc/nebula-python.git

Step 2. 进入目录nebula-python

$ cd nebula-python

Step 3. 安装依赖包

$ pip install -r requirements.txt

Step 4. 执行如下命令安装

$ sudo python3 setup.py install

连接Graph服务

from nebula2.gclient.net import ConnectionPool
from nebula2.Config import Config

# 定义配置
config = Config()
config.max_connection_pool_size = 10
# 初始化连接池
connection_pool = ConnectionPool()
# 如果给定的服务器正常,则返回true,否则返回false。
ok = connection_pool.init([('192.168.16.96', 9669)], config)

# 方法1:控制连接自行释放。
# 从连接池中获取会话
session = connection_pool.get_session('root', '123456')
# 选择图空间
session.execute('USE Graph500)
# 执行查看TAG命令
result = session.execute('SHOW TAGS')
print(result)
# 释放会话
session.release()

# 方法2:使用session_context,会话将被自动释放。
with connection_pool.session_context('root', '123456) as session:
    session.execute('USE Graph500;')
    result = session.execute('SHOW TAGS;')
print(result)

# 关闭连接池
connection_pool.close()

连接Storage服务

from nebula2.mclient import MetaCache, HostAddr
from nebula2.sclient.GraphStorageClient import GraphStorageClient

# metad服务器地址
meta_cache = MetaCache([('192.168.14.13', 9559),
                        ('192.168.14.14', 9559),
                        ('192.168.16.96', 9559)],
                       50000)

# 方法一 metad 通常会自动发现存储地址
graph_storage_client = GraphStorageClient(meta_cache)

# 方法二 手动指定存储地址
storage_addrs = [HostAddr(host='192.168.14.13', port=9779),
                 HostAddr(host='192.168.14.13', port=9779),
                 HostAddr(host='192.168.16.96', port=9779)]
graph_storage_client = GraphStorageClient(meta_cache, storage_addrs)

resp = graph_storage_client.scan_vertex(
        space_name='ScanSpace',
        tag_name='person')
while resp.has_next():
    result = resp.next()
    for vertex_data in result:
        print(vertex_data)
        
resp = graph_storage_client.scan_edge(
    space_name='ScanSpace',
    edge_name='friend')
while resp.has_next():
    result = resp.next()
    for edge_data in result:
        print(edge_data)

你可能感兴趣的:(自然语言处理,python,知识图谱,数据库)