当前位置:网站首页>实例讲解将Graph Explorer搬上JupyterLab
实例讲解将Graph Explorer搬上JupyterLab
2022-07-01 18:38:00 【InfoQ】

一、使用前准备
1. 华为云账号
2. OBS 对象存储服务
3. GES 图引擎服务
4. 获取调用 GES 业务面 API 必备的参数
二、使用 GES4Jupyter 连接 GES 服务

import moxing as mox
mox.file.copy('obs://obs-aigallery-zc/GES/ges4jupyter/beta/ges4jupyter.py', 'ges4jupyter.py')
mox.file.copy('obs://obs-aigallery-zc/GES/ges4jupyter/beta/ges4jupyter.html', 'ges4jupyter.html')
from ges4jupyter import GESConfig, GES4Jupyter, read_csv_config
eip = ''
project_id = ''
graph_name = ''
iam_url = ''
user_name = ''
password = ''
domain_name = ''
project_name = ''
port = 80
eip, project_id, graph_name, iam_url, user_name, password, domain_name, project_name, port = read_csv_config('cn_north_4_graph.csv')
config = GESConfig(eip, project_id, graph_name,
iam_url = iam_url,
user_name = user_name,
password = password,
domain_name = domain_name,
project_name = project_name,
port = port)
ges_util = GES4Jupyter(config, True);- 用于构造 API 的参数:eip,projectId,graph_name, port 这四个参数都参与构造了业务面请求的 url。eip 与 graph_name 两个参数在创图时容易获得,port 参数默认为 80,开启安全模式时为 443,关于 projectId,可参考图引擎官网文档 - 获取项目 id,从图控制台根据图所属的区域来获取项目 id。
- 用于在请求 API 前获取 token 的参数:iam_url, user_name, password, domain_name,project_name,GES4Jupyter 会使用这四个参数获取 token,进而在使用 api 时进行鉴权,相关参数获取请参考:华为图引擎文档 - 业务面 API 认证鉴权和调用 GES 服务业务面 API 相关参数的获取

print('开始创建点索引:')
job_id = ges_util.build_vertex_index()
job_result = ges_util.get_job(job_id)
if 'errorCode' not in job_result:
for i in range(100):
if job_result['status'] == 'success':
break
else:
time.sleep(1)
job_result = ges_util.get_job(job_id)
print('点索引创建完成')
print('开始创建边索引:')
job_id = ges_util.build_edge_index()
job_result = ges_util.get_job(job_id)
if 'errorCode' not in job_result:
for i in range(100):
if job_result['status'] == 'success':
break
else:
time.sleep(1)
job_result = ges_util.get_job(job_id)
print('边索引创建完成')ges_util.cypher_query("call dbms.parameter('needNodeIndex', false)");
ges_util.cypher_query("call dbms.parameter('needEdgeIndex', false)");
三、使用 GES4Jupyter 调用业务面接口并进行可视化
cypher_result = ges_util.cypher_query("match (n)-[r]->(m) return n,r,m limit 10",formats=['row','graph']);
ges_util.format_cypher_result(cypher_result)

gremlin_result = ges_util.gremlin_query("g.V().outE().bothV().path().limit(2)");
ges_util.format_gremlin_result(gremlin_result)
result = ges_util.path_query({
"repeat": [
{
"operator": "bothV",
"vertex_filter": {
"property_filter": {
"leftvalue": {
"id": ""
},
"predicate": "NOTIN",
"rightvalue": {
"value": ["北京"]
}
}
}
}
],
"until": [
{
"vertex_filter": {
"property_filter": {
"leftvalue": {
"id": ""
},
"predicate": "=",
"rightvalue": {
"value": ["额济纳旗"]
}
}
}
}
],
"times": 5,
"queryType": "Tree",
"vertices": ["北京病例2"]
})
ges_util.format_path_query(result)
四、图引擎官网有更多案例可以使用 GES4Jupyter 上手体验

边栏推荐
- 信度系数低怎么办?信度系数具体怎么算?
- Opencv map reading test -- error resolution
- 3、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》在本地铸造 NFT
- LeetCode-21合并两个有序链表
- Calculation of intersection of two line segments
- 实现一个Prometheus exporter
- 搭建一个通用监控告警平台,架构上需要有哪些设计
- 540. Single element in ordered array / 1684 Count the number of consistent strings
- OpenAI|视频预训练 (VPT):基于观看未标记的在线视频的行动学习
- 关于企业中台规划和 IT 架构微服务转型
猜你喜欢

Vidéos courtes recommandées chaque semaine: méfiez - vous de la confusion entre « phénomène » et « problème »

研究了11种实时聊天软件,我发现都具备这些功能…

Must see, time series analysis

Operation of cmake under win

After studying 11 kinds of real-time chat software, I found that they all have these functions

2、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》启动并运行您的本地环境

t10_ Adapting to Market Participantsand Conditions

Mysql database design

Navicat Premium 15 永久破解和2021版本最新IDEA破解(亲测有效)

How to manage 1000 anchors by one person?
随机推荐
主成分之综合竞争力案例分析
Lumiprobe lumizol RNA extraction reagent solution
OpenAI|视频预训练 (VPT):基于观看未标记的在线视频的行动学习
[Chongqing Guangdong education] basic psychology reference materials of Tianjin Normal University
字节跳动数据平台技术揭秘:基于 ClickHouse 的复杂查询实现与优化
R语言使用epiDisplay包的followup.plot函数可视化多个ID(病例)监测指标的纵向随访图、使用n.of.lines参数指定显示的病例数
Lumiprobe bifunctional crosslinker sulfo cyanine 5 bis NHS ester
R语言epiDisplay包ordinal.or.display函数获取有序logistic回归模型的汇总统计信息(变量对应的优势比及其置信区间、以及假设检验的p值)、write.csv函数保存csv
如何运营好技术相关的自媒体?
Vidéos courtes recommandées chaque semaine: méfiez - vous de la confusion entre « phénomène » et « problème »
Leetcode-141环形链表
Li Kou daily question - Day 32 -1232 Dotted line
用WPF写一款开源方便、快捷的数据库文档查询、生成工具
ACM MM 2022视频理解挑战赛视频分类赛道冠军AutoX团队技术分享
R语言ggplot2可视化:gganimate包transition_time函数创建动态散点图动画(gif)、shadow_wake函数配置动画的渐变效果(gradual falloff)拖尾效应
R language ggplot2 visualization: gganimate package transition_ Time function to create dynamic scatter animation (GIF), shadow_ The wake function configures the gradient falloff tailing effect of the
R language uses the aggregate function of epidisplay package to divide numerical variables into different subsets based on factor variables, and calculate the summary statistics of each subset
12 data dimensioning processing methods
Write an open source, convenient and fast database document query and generation tool with WPF
Sanfeng cloud 0215 I often use