Thespica commented on code in PR #590:
URL: https://github.com/apache/incubator-graphar/pull/590#discussion_r1717827185


##########
README-zh-cn.md:
##########
@@ -0,0 +1,172 @@
+<h1 align="center" style="clear: both;">
+    <img src="docs/images/graphar-logo.svg" width="350" alt="GraphAr">
+</h1>
+<p align="center">
+    一种用于图数据存储和读取的开源标准数据文件格式。
+</p>
+
+[![GraphAr
+CI](https://github.com/apache/incubator-graphar/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/incubator-graphar/actions)
+[![Docs
+CI](https://github.com/apache/incubator-graphar/actions/workflows/docs.yml/badge.svg)](https://github.com/apache/incubator-graphar/actions)
+[![GraphAr
+Docs](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://graphar.apache.org/docs/)
+[![Good First
+Issue](https://img.shields.io/github/labels/apache/incubator-graphar/Good%20First%20Issue?color=green&label=Contribute)](https://github.com/apache/incubator-graphar/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
+
+## GraphAr 项目简介
+
+<img src="docs/images/overview.png" class="align-center" width="770"
+alt="Overview" />
+
+图计算是大数据中的一种常见计算类型,例如社交网络分析、数据挖掘、网络路由和科学计算等。
+
+GraphAr(全称为“Graph 
Archive”,直译为图的归档)项目旨在使各种应用程序和系统(包括内存和外存中的存储、数据库、图计算系统和交互式图查询框架)能够方便高效地构建和访问图数据。
+
+它可以用于图数据的导入/导出和持久化存储,进行系统间高效的数据交换,从而减轻系统协作时的负担。此外,它还可以作为直接作为图计算应用的数据源。
+
+为实现这一目标,GraphAr 项目提供了:
+
+- GraphAr 格式:一种标准化的、与系统无关的图数据存储格式;
+- 各种语言的开发库:一组各种语言下用于读取、写入和转换 GraphAr 格式数据的开发库;
+
+通过使用 GraphAr 项目,用户可以:
+- 使用 GraphAr 格式以系统无关的方式存储和持久化图数据;
+- 通过开发库轻松访问和生成 GraphAr 格式的数据;
+- 利用 Apache Spark 快速操作和转换 GraphAr 格式的数据
+
+## The GraphAr Format
+
+GraphAr 格式专为属性图而设计。它使用元数据记录图的所有必要信息,并以分区的方式维护实际数据。
+
+属性图由顶点和边组成,每个顶点包含一个唯一标识符,并且包括:
+- 描述顶点类型的文本标签;
+- 一组属性,每个属性可以用键值对表示。
+
+每条边包含一个唯一标识符,并且包括:
+- 出边顶点(边的起点);
+- 入边顶点(边的终点);
+- 描述两个顶点之间关系的文本标签;
+- 一组属性。
+
+以下是一个属性图的示例,包含两种类型的顶点(“person” 和 “comment”)以及三种类型(“likes”, “knows” 和 
“hasCreator”)的边。
+
+<img src="docs/images/property_graph.png" class="align-center"
+width="700" alt="property graph" />
+
+### GraphAr 的顶点
+
+#### 顶点的逻辑表
+
+每种类型的顶点(即具有相同标签的顶点)构成一个逻辑顶点表,每个顶点在此类型内被分配一个全局索引(称为内部顶点ID),从0开始,对应于逻辑顶点表中顶点的行号。下图中提供了标签为“person”的顶点逻辑表的示例布局供参考。
+
+通过内部顶点ID和顶点标签,可以唯一标识一个顶点,并且可以从该表中访问其相应的属性。内部顶点ID还用于在维护图的拓扑结构时标识边的起始顶点和终止顶点。
+
+<img src="docs/images/vertex_logical_table.png" class="align-center"
+width="650" alt="vertex logical table" />
+
+####  顶点的物理表
+
+为了提高读写效率,逻辑顶点表将被分割成多个连续的顶点块。为了保持随机访问的能力,相同标签的顶点块大小是固定的。为了支持访问所需属性而无需从文件中读取所有属性,并且能够在不修改现有文件的情况下为顶点添加属性,逻辑表的列将被分为多个列组。
+
+以 person 顶点表为例,如果块大小设置为500,那么逻辑表将被分成每个 500 
行的子逻辑表,最后一个子逻辑表可能少于500行。用于维护属性的列也将被分成不同的组(例如,在我们的示例中为2个组)。因此,总共创建了 4 
个物理顶点表来存储该示例逻辑表,如下图所示。
+
+<img src="docs/images/vertex_physical_table.png" class="align-center"
+width="650" alt="vertex physical table" />
+
+> [!NOTE]
+> 为了有效利用诸如 Parquet 之类 payload 文件格式的过滤下推功能,内部顶点ID作为一列存储在 payload 
文件中。由于内部顶点ID是连续的,payload 文件格式可以对内部顶点ID列使用增量编码,这不会给存储带来太多的开销。
+
+### GraphAr 的边
+
+#### 边的逻辑表
+
+为了维护一种类型的边(具有相同的源标签、边标签和目标标签),会建立一个逻辑边表。为了支持从图存储文件中快速创建图,逻辑边表可以以类似于 
[CSR/CSC](https://en.wikipedia.org/wiki/Sparse_matrix) 
的方式维护拓扑信息,即边按照源或目标的内部顶点ID排序。通过这种方式,需要一个偏移表来存储每个顶点的边的起始偏移量,并且具有相同源/目标的边将连续存储在逻辑表中。
+
+以 person knows person 边的逻辑表为例,逻辑边表看起来如下所示:
+
+<img src="docs/images/edge_logical_table.png" class="align-center"
+width="650" alt="edge logical table" />
+
+#### 边的物理表
+与顶点表相同,逻辑边表也被分割为一些子逻辑表,每个子逻辑表包含源(或目标)顶点在相同顶点块中的边。根据分区策略和边的顺序,边可以按照以下四种类型之一存储在GraphAr中:

Review Comment:
   Suggested by [this 
guide](https://github.com/sparanoid/chinese-copywriting-guidelines#%E4%B8%AD%E8%8B%B1%E6%96%87%E4%B9%8B%E9%96%93%E9%9C%80%E8%A6%81%E5%A2%9E%E5%8A%A0%E7%A9%BA%E6%A0%BC),
 we can add space between Chinese and English for better readability(not only 
here).



##########
README-zh-cn.md:
##########
@@ -0,0 +1,172 @@
+<h1 align="center" style="clear: both;">
+    <img src="docs/images/graphar-logo.svg" width="350" alt="GraphAr">
+</h1>
+<p align="center">
+    一种用于图数据存储和读取的开源标准数据文件格式。
+</p>
+
+[![GraphAr
+CI](https://github.com/apache/incubator-graphar/actions/workflows/ci.yml/badge.svg)](https://github.com/apache/incubator-graphar/actions)
+[![Docs
+CI](https://github.com/apache/incubator-graphar/actions/workflows/docs.yml/badge.svg)](https://github.com/apache/incubator-graphar/actions)
+[![GraphAr
+Docs](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://graphar.apache.org/docs/)
+[![Good First
+Issue](https://img.shields.io/github/labels/apache/incubator-graphar/Good%20First%20Issue?color=green&label=Contribute)](https://github.com/apache/incubator-graphar/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)

Review Comment:
   Maybe we can add an icon to indicate that there are other version languages 
of README? Same as English README.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to