快速上手标准化图存储文件格式 GraphAr

使用 GraphAr 导入/导出 Neo4j 图数据 在之前的文章中,我们介绍了标准化图存储文件格式 GraphAr 的整体概况和快速上手指南。在本文中,我们介绍如何将 GraphAr 作为图数据归档格式,完成 Neo4j 图数据库中数据的导入导出。 阅读详情

在之前的文章中,我们介绍了标准化图存储文件格式 GraphAr 的设计思路、项目概况和应用场景。在本文中,我们将结合具体的例子,介绍如何使用其提供的 C++ SDK 快速上手 GraphAr。目前,GraphAr 已在 Github 开源,欢迎大家关注、贡献代码和加星星✨~开源地址:https://github.com/alibaba/GraphAr

什么是 GraphAr?

GraphAr(Graph Archive,简称 GAR)为图数据定义了一套标准化的、独立于计算/存储系统的文件格式,并提供了一系列接口用来生成、访问和转换这些格式化的文件。GraphAr 可以帮助各类图计算应用或现有系统方便快捷地构建和访问图数据,它既可以作为图计算应用的直接数据源,也可以服务于图数据的导入/导出和持久化存储,减少各类图系统之间协同工作的开销。下图展示了将 GraphAr 作为图数据归档格式应用在典型业务的场景:借助 GraphAr,用户可以选择需要的点和边数据快速组建一张图,用于后续处理如 GraphScope 图分析任务。

安装 GraphAr 的 C++ SDK 需要以下依赖:

  • 支持 C++17 标准的编译器 (g++ >= 7.1 或 clang++ >= 5)
  • CMake (>=3.5)
  • make build utilities
  • curl-devel (Linux) 或 curl (macOS)

在本地搭建环境,从 GraphAr 源码编译安装 C++ SDK 可参考如下步骤:

# 下载最新版本代码
$ git clone https://github.com/alibaba/GraphAr.git

# 更新 submodule
$ git submodule update --init

# 编译
$ cd GraphAr/cpp
$ mkdir build-release
$ cd build-release
$ cmake ..
$ make -j$(nproc)

# Install GraphAr C++ SDK
$ sudo make install

更详细的编译安装步骤请查阅 GraphAr 官方文档。

定义 GraphAr 元信息文件

GraphAr 将图的元信息和数据分别存储在不同的文件中。其中,元信息用一组 yaml 文件来描述:每个图实例对应一个图信息文件,图中每种类型的点/边对应一个点/边信息文件。这些 yaml 文件中定义了有关图数据存储在 GraphAr 中所需的全部必要信息。

以一个简单的名为 “ldbc_sample” 的图为例,由于它包含一种类型的点(person)和一种类型的边(person knows person),因此我们可以通过定义如下三个 yaml 文件来描述这张图的元信息。

ldbc_sample.graph.yml

name: ldbc_sample
vertices:
  - person.vertex.yml
edges:
  - person_knows_person.edge.yml
version: gar/v1

person.vertex.yml

label: person
chunk_size: 100
prefix: vertex/person/
property_groups:
  - properties:
      - name: id
        data_type: int64
        is_primary: true
    file_type: parquet
  - properties:
      - name: firstName
        data_type: string
        is_primary: false
      - name: lastName
        data_type: string
        is_primary: false
      - name: gender
        data_type: string
        is_primary: false
    file_type: parquet
version: gar/v1

person_knows_person.edge.yml

src_label: person
edge_label: knows
dst_label: person
chunk_size: 1024
src_chunk_size: 100
dst_chunk_
GraphAr:标准化图存储文件格式 GraphAr 定义了一套简单、高效、通用的标准图数据文件存储格式,并提供了一系列数据读写和转化接口。目前,GraphAr 已在 Github 开源,欢迎大家关注、贡献代码和加星星 阅读详情

相关推荐

一次实时数据链路丢数排查:从 MQTT 队列积压到 SQL 统计开销

本文通过一次实时数据链路压测,排查了从MQTT到ClickHouse的端到端数据丢失问题。核心方法是为每条消息添加序号,建立独立观察点(MQTT订阅端、Kafka消费者),结合转发服务阶段统计与线程栈分析,定位到下游处理速度不足源于Druid SQL合并统计的高开销。优化措施包括关闭SQL合并、扩容代理队列、增强生产侧失败处理,并验证15分钟内实现全链路对账一致,显著缓解积压与丢包。关键收获:数据可对账、明确各阶段“成功”定义、关注客户端队列状态。

qq_49474843的博客 344

mall 电商项目完整部署---实战

mall 后端 SpringBoot,mall‑admin‑web 后台管理 Vue 前端,mall‑app‑sc 移动端 uni‑app 前端;修改数据库、redis、minio、logstash 地址,容器之间 link 别名:mysql 容器别名。🔔排坑:登录报跨域 / 接口报错,检查 prod.env.js 地址,确认 8080 后端服务正常运行。能打开页面,接口列表展示出来,后端部署完成。,所以打包的时候会自动构建镜像,很慢而且你暂时不需要。,容器数据持久化,删除容器数据不会丢失。

qq_63196465的博客 335

3d-force-graph-ar:AR中的3D力导向图组件

AR中的3D力导向图 一个Web组件,它使用力导向的迭代布局来表示增强现实中的图形数据结构。 使用和进行渲染,并使用进行布局物理引擎。 要加载以下任何示例: 在桌面浏览器中打开此。 在手机浏览器上打开示例,然后将其指向桌面屏幕。 查看示例: () () ( ) ( ) ( ) ( ) ( ) () ( ) ( ) () ( ) ( ) ( ) 另请参见, 和 。 并检查。 快速开始 import ForceGraphAR from '3d-force-graph-ar'; 要么 const ForceGraphAR = require('3d-force-graph-ar'); 甚至 [removed][removed] 然后 const myGraph = ForceGraphAR(); myGraph(<myDOMElement>) .graphData(<myData>); 确保将这两个脚本标签加载到您的应用程序中,这是AR.js + A-frame正常运行所

5.4 磁悬浮轴承控制系统仿真:在MATLAB/Simulink中搭建包含功放、传感器模型的闭环系统模型,进行稳定性与动态性能仿真

磁悬浮轴承控制系统仿真方法 摘要:磁悬浮轴承控制系统仿真需建立包含转子动力学、传感器、控制器、功率放大器和电磁执行器的高保真非线性模型。通过MATLAB/Simulink搭建闭环系统,重点建模传感器带宽限制与噪声、功放饱和特性以及电磁力非线性。仿真分析包括时域阶跃响应、扰动抑制测试,频域稳定性分析(伯德图、奈奎斯特图),以及参数摄动下的鲁棒性验证。关键要验证控制算法在非线性因素影响下的稳定性和动态性能,为实际系统实现提供可靠依据。仿真中需特别注意物理量单位一致性和数字控制离散化效应。

技术工作者 1108

VTK 9.2.0 在 Windows 10 上编译全记录:从 CMake 配置到 VS2019 项目生成(附 Qt 环境变量避坑点)

本文详细记录了VTK 9.2.0在Windows 10上的编译全过程,从CMake配置到VS2019项目生成,特别强调了Qt环境变量的避坑点。通过实战步骤和调试技巧,帮助开发者顺利完成VTK编译,适用于三维可视化开发。

weixin_30082367的博客 365

单细胞分析避坑指南:SCTransform和Harmony参数设置详解

本文深入解析了单细胞分析中SCTransform标准化与Harmony批次校正的关键参数设置。针对10x Genomics等数据,详细探讨了如何通过调整`vars.to.regress`、`theta`等核心参数,在有效去除技术噪音的同时,避免过度校正以保留关键的生物学差异,从而提升分析结果的可靠性与可解释性。

weixin_29053073的博客 608

基于VS2012 C#调用bartender自动打印条形码

GitHub:https://github.com/sanjaywu/BarcodePrintTool 一、在引用添加Interop.BarTender.dll 1、在资源解决方案的引用这里,右击选择“添加引用”: 2、按照如下步骤添加Interop.BarTender.dll引用: 3、添加完成 二、使用bartender工具设置打印模板 1、页面大小设置: 2、条码设置: 三、代码...

Sanjay_Wu的博客 5956

心电图机原理及电路超详细讲解

前置心电放大电路(虚线框:这是隔离电路的分界,在隔离电路分析中知道,完整隔离包括信号隔离(脉宽调制)、控制信号隔离(光电耦合)和电源隔离)后级放大电路。

fcxgfdjy的博客 2万+

CTF实战:手把手教你用Python破解转轮机加密(附完整脚本)

本文详细介绍了如何使用Python逆向破解转轮机加密,特别针对CTF比赛中的Crypto类题目。通过解析转轮机加密原理、实战Python脚本编写及调试技巧,帮助参赛者快速掌握破解方法,提升在攻防世界等CTF比赛中的解题效率。

silver的专栏 1116

Nvidia Jetson 编解码开发(3)解决H265解码报错“PPS id out of range”

基于之前的开发程序通过Jetson Xavier NX 硬编码的H265发出后,上位机断点播放发出来的H265码流,会报“PPS id out of range” 错误。

jzwjzw19900922的博客 3812

《QT+PCL 第一章》:点云读取显示

点云读取显示一、核心代码二、QT设置三、效果展示 一、核心代码 二、QT设置 三、效果展示

阁楼 1万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: GraphAr:标准化图存储文件格式
下一篇: 使用 GraphAr 导入/导出 Neo4j 图数据
graphscope
博客等级 码龄5年 33粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值