jasinliu commented on code in PR #616: URL: https://github.com/apache/incubator-graphar/pull/616#discussion_r1820116761
########## cli/README.md: ########## @@ -0,0 +1,88 @@ +# GraphAr Cli + +GraphAr Cli uses [pybind11][] and [scikit-build-core][] to bind C++ code into Python and build command line tools through Python. Command line tools developed using [typer][]. + +[pybind11]: https://pybind11.readthedocs.io +[scikit-build-core]: https://scikit-build-core.readthedocs.io +[typer]: https://typer.tiangolo.com/ + +## Requirements + +- Linux (work fine on Ubuntu 22.04) +- Cmake >= 3.15 +- Arrow >= 12.0 +- Python >= 3.7 +- pip == latest + + +The best testing environment is `ghcr.io/apache/graphar-dev` Docker environment. + +And using Python in conda or venv is a good choice. + +## Installation + +- Clone this repository +- `pip install ./cli` or set verbose level `pip install -v ./cli` + +## Usage + +```bash +graphar-cli --help + +# check the metadata, verify whether the vertex edge information and attribute information of the graph are valid +graphar-cli check -f ../testing/neo4j/MovieGraph.graph.yml + +# show the vertex +graphar-cli show -f ../testing/neo4j/MovieGraph.graph.yml -v Person + +# show the edge +graphar-cli show -f ../testing/neo4j/MovieGraph.graph.yml -es Person -e ACTED_IN -ed Movie + +# import graph data by using a config file +graphar-cli import -c import.mini.yml +``` + +## Import config file + +The config file supports two data types. We provide two reference templates for each type: full and mini. + +The full version of the configuration file contains all configurable fields, and additional fields will be automatically ignored. + +The mini version of the configuration file is a simplified version of the full configuration file, retaining the same functionality. It shows the essential parts of the configuration information. + +For the full configuration file, if all fields can be set to their default values, you can simplify it to the mini version. However, it cannot be further reduced beyond the mini version. + + +In the yaml config files, we provide brief comments on the fields, which can be used as a reference + +**Example** + +To import the movie graph data from the `testing` directory, you first need to prepare data files. Supported file types include `csv`, `json`(as well as`jsonline`, but should have the `.json` extension), `parquet`, and `orc` files. Please ensure the correct file extensions are set in advance, or specify the file type in the source section of the configuration. Review Comment: The default is to determine the file type based on the file extension. If you do not need to determine the file type based on the file extension, you need to provide the `file_type` field. This option will ignore the file extension. -- 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]
