当前位置:网站首页>实例讲解将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 上手体验

边栏推荐
- Lumiprobe non fluorescent alkyne EU (5-ethynyluridine)
- A wonderful time to buy and sell stocks
- What impact will multinational encryption regulation bring to the market in 2022
- D. Yet Another Minimization Problem
- Is Alipay wallet convenient to use?
- Roll out! Enlightenment!
- Operating system interview assault
- Halcon image calibration enables subsequent image processing to become the same as the template image
- Depth first search - DFS (burst search)
- ACM MM 2022视频理解挑战赛视频分类赛道冠军AutoX团队技术分享
猜你喜欢

Find all missing numbers in the array

6款红黄黑榜摄像头评测:谁最安全?谁画质好?从此让你不再踩雷

1380. Lucky number in matrix / 1672 Total assets of the richest customers

Leetcode-160相交链表

搭建一個通用監控告警平臺,架構上需要有哪些設計

实现一个Prometheus exporter

How does factor analysis calculate weights?

Unity learning fourth week

What impact will multinational encryption regulation bring to the market in 2022

Go Technology Daily (2022-02-14) - go language slice interview real questions 8 consecutive questions
随机推荐
Lumiprobe biomolecular quantification - qudye Protein Quantification Kit
Computer network interview assault
[today in history] February 15: Pascal's father was born; YouTube was founded; Kotlin language comes out
1380. Lucky number in matrix / 1672 Total assets of the richest customers
如何运营好技术相关的自媒体?
Leetcode-128 最长连续序列
Technology implementation and Architecture Practice
[source code analysis] model parallel distributed training Megatron (5) -- pipestream flush
Halcon image calibration enables subsequent image processing to become the same as the template image
Facebook聊单,SaleSmartly有妙招!
Leetcode-83 删除排序链表中重复的元素
R language uses the DOTPLOT function of epidisplay package to visualize the frequency of data points in different intervals in the form of point graph, and uses PCH parameters to customize the shape o
Regular expression
1、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》什么是NFT
Blue Bridge Cup real question: score statistics
Leetcode-160相交链表
Halcon图片标定,使得后续图片处理过后变成与模板图片一样
Evaluation of 6 red, yellow and black list cameras: who is the safest? Who has good picture quality? From now on, let you no longer step on thunder
信度系数低怎么办?信度系数具体怎么算?
[noip2015] jumping stone